<分区>
<分区>
我有一个基本的 CSS 弹出层,它会在单击图像后激活。我在编写代码时遇到问题,其中脚本检测个人是否正在从移动设备查看弹出层,并且此脚本仅在单击图像以生成弹出层“之后”运行。我遇到的最大问题是,当插入此脚本时,它会在页面加载时自动运行,而不是在单击图像链接时自动运行。
到目前为止,这是我的代码。
header 注入(inject):
<style>
.black_overlay {
display: none;
position: fixed;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color: black;
z-index:1001;
-moz-opacity: 0.4;
opacity:.40;
filter: alpha(opacity=40);
}
.white_content_farm {
display: none;
position: fixed;
top: 10%;
left: 5%;
width: 90%;
height: 71.5%;
padding: 2px;
border: 0px solid white;
background-color: ;
z-index:1002;
overflow: hidden;
opacity:.95;
}
.white_content_iframe_farm {
height: 100%;
border: 5px solid white;
z-index: 1003;
opacity: 1;
}
</style>
弹出链接:
<a href = "javascript:void(0)" onclick = "document.getElementById('light_farm').style.display='block';document.getElementById('fade_farm').style.display='block'"><img src="http://static.squarespace.com/static/53bf8132e4b099bf496a13e8/t/54713c07e4b0db0d7897376b/1416707079564/Reach+Website+Icon+500.png" width=50; alt=”OFFERS”></a>
<div id="light_farm" class="white_content_farm">
<div id="light_iframe_farm" class="white_content_iframe_farm"><iframe src="DOMAIN.COM" width=100% height=100% frameborder=0 ></iframe>
</div>
</div>
<div id="fade_farm" class="black_overlay">
<a href = "javascript:void(0)" onclick = "document.getElementById('light_farm').style.display='none';document.getElementById('fade_farm').style.display='none'"> <img src="http://static.squarespace.com/static/53bf8132e4b099bf496a13e8/t/548a2d87e4b0a89689922b88/1418341767298/Transparent+Background.png"></a></div>
我必须检测移动设备并重定向到移动版本的代码是(这是需要“仅在”通过单击图像激活弹出层后运行的脚本):
<script type="text/javascript">
<!-- if (screen.width <= 699) { document.location = "/mobile"; }//-->
</script>
希望你们中的一个人能够解决这个问题!
谢谢,
乔恩
最佳答案
有关客户端环境的唯一信息是它希望在 User-Agent:
请求 header 中告诉您的内容。
当然,您可以尝试根据浏览器支持的功能集进行猜测,但这本质上是不可靠的。
在浏览器大战时代,尝试连接到特定于浏览器(和平台)的插件会导致更多泄漏是可能的,但现在被认为是一个漏洞并被积极阻止。
关于javascript - 检测移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27444628/