Tid*_*ddo 4 resolution google-apps-script
我正在尝试在Google应用脚本中创建应用,但我希望根据屏幕的分辨率(移动和桌面)显示不同的布局.但是,我找不到任何关于如何确定屏幕分辨率的信息.
当然我无法从服务器端确定屏幕分辨率,所以我尝试了如果我可以使用客户端处理程序,但ClientHandlers
没有任何屏幕分辨率的方法.我还尝试使用手动客户端脚本添加到应用程序app.createHTML()
,但Google不允许使用createHTML包含javascript.
那么如何使用Google应用脚本获取浏览器的分辨率?
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)
归档时间: |
|
查看次数: |
3365 次 |
最近记录: |