在手持/智能设备上使用不同浏览器时的屏幕宽度问题
Screen Width Issue when using different browsers on Hand Held/Smart Devices
我制作了一个脚本,在其中检测移动浏览器,当它为真时,getwidth
调用JS函数,并根据访问者的屏幕宽度将访问者重定向到某个URL。我使用了基本的js检测方法,即screen.width
来检测屏幕宽度
我面临的问题是在不同的浏览器中返回不同的屏幕宽度。就像我有一个平板电脑(Android 4.0.3),其实际屏幕宽度为800 PX,当我通过默认浏览器在其上运行脚本时,它会返回准确的屏幕宽度800px
但是当我使用不同的浏览器打开它时,它们返回不同的宽度,例如UC浏览器返回740 PX(ISSUE 2: also when onload function i tried to return screen width on UC browser then it returns screen width as 0px and after page load when i call the same function again then it returns width=740px
), 当我在 Opera Mini 上运行脚本时,它返回的宽度为 441 PX。
请让我知道哪种是检测手持/智能设备屏幕宽度的最有效方法。所以我可以根据屏幕宽度完美地进行重定向。
要测试的网址:http://radiations3.aiksite.com/home.html
谢谢
,在我看来,你不应该使用Javascript,而应该使用CSS。 您是否调查过媒体查询? 这是检测屏幕宽度并相应地提供不同样式的最跨浏览器方法。
如果您不想更改样式,而是按照您所说的重定向(如果必须的话),那么我建议使用以下代码(代表 Andy Langton):
var w=window,d=document,e=d.documentElement,g=d.getElementsByTagName('body')[0],x=w.innerWidth||e.clientWidth||g.clientWidth,y=w.innerHeight||e.clientHeight||g.clientHeight;
这是将创建两个变量的简写, x
和 y
,分别是宽度和高度。 也许这更像是你正在寻找的东西,但我首先建议查看媒体查询,并确保你想要做的事情不能用CSS完成。 不能保证在任何浏览器中启用Javascript。
你有没有尝试过使用jQuery和
$(window).width();
$(window).height();
我使用这些从来没有遇到过任何问题。
- 导航栏没有调整到浏览器屏幕的大小
- 如何打开/移动主屏幕左侧的浏览器窗口
- 如何在同一浏览器屏幕中创建多个窗口
- 如何修复在浏览器中打开后出现在屏幕上的html/Javascript代码
- 如何在 D3 中使力布局图.js响应屏幕/浏览器大小
- 在手持/智能设备上使用不同浏览器时的屏幕宽度问题
- 根据浏览器屏幕大小和媒体查询执行 php 代码
- 在不使用 CSS 的情况下,将元素与浏览器屏幕顶部保持设定的距离
- Ruby on Rails屏幕抓取错误-“;您必须在浏览器中启用javascript才能使用此应用程序"
- 如何在Raphael js中在屏幕(浏览器)的边缘画一条线
- 根据浏览器的屏幕分辨率更改徽标图像
- 在浏览器中的 NVD3(或带有 CSS 的 D3)的屏幕截图中
- CSS “overflow-x:hidden” 与浏览器 Ctrl+F 水平移出屏幕单词突出显示冲突
- 为谷歌浏览器创建拖动选择屏幕截图
- 当浏览器下载所需的文件时,GIF 在初始屏幕中缓慢制作动画
- MVC3 剃须刀在视图中获取浏览器屏幕宽度和高度
- 在浏览器屏幕周围拖放Canvas
- 我的图表不会使用流星中的chart.js显示在浏览器屏幕上
- 在Selenium中,在浏览器屏幕上移动到(x,y)不会;t移动鼠标指针.为什么
- 当浏览器屏幕分辨率改变时,动态改变模态的高度和宽度