Google应用脚本:如何确定屏幕分辨率?

Tid*_*ddo 4 resolution google-apps-script

我正在尝试在Google应用脚本中创建应用,但我希望根据屏幕的分辨率(移动和桌面)显示不同的布局.但是,我找不到任何关于如何确定屏幕分辨率的信息.

当然我无法从服务器端确定屏幕分辨率,所以我尝试了如果我可以使用客户端处理程序,但ClientHandlers没有任何屏幕分辨率的方法.我还尝试使用手动客户端脚本添加到应用程序app.createHTML(),但Google不允许使用createHTML包含javascript.

那么如何使用Google应用脚本获取浏览器的分辨率?

meg*_*024 6

JavaScript screen.witdth属性在GAS环境中不起作用.谷歌Caja消毒剂,在GAS的引擎盖下,抛出了

未捕获的脚本错误:'屏幕未定义.' 在源代码:'tryit.asp?filename = tryjsref%5fscreen%5fwidth'在第7行:tryit.asp?filename = tryjsref%5fscreen%5fwidth:7:屏幕未定义.

如果要将以下HTML页面加载到Caja Playground,则会出现异常.可能这是Caja的一个问题.

<!DOCTYPE html>
<html>
<body>

<script>

document.write("Test");
document.write("Total Width: " + screen.width);

</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

可能的解决方法是不依赖于屏幕分辨率而是使用用户代理字符串.该字符串包含用户浏览器"id".该UiApp.getUserAgent方法返回.例如,桌面上的Mozilla Firefox提供了这样的字符串,如 - Mozilla/5.0 (Windows NT 6.0; rv:15.0) Gecko/20100101 Firefox/15.0.1,gzip(gfe).在这个字符串包含的手机上...(Android; Mobile; rv:15.0)....检查过程在返回的字符串中搜索单词Mobile,Android等等.如果其中一个发现它是移动平台,并且主代码使用相对控件大小绘制移动GUI.以下代码显示了如何使用它

function doGet(e) {
  var app = UiApp.createApplication();
  app.add(app.createLabel(UiApp.getUserAgent()));
  return app;
}
Run Code Online (Sandbox Code Playgroud)