javascript - 检测移动设备

标签 javascript css if-statement mobile popup

<分区>

我有一个基本的 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/

上一篇:css - Ionic - 选中时将样式设置为 Checkbox-Text

下一篇:css - 如何设置 Reddit 子组的样式以使用 RTL 语言?

相关文章:

html - Bootstrap - 从导航栏链接中删除背景

css - 如何保持与图像的比例?

python - 获取python以if语句结束程序

javascript - 序列化具有事件处理程序的 HTML 元素

javascript - 修改javascript,使mdash后面的字母为大写字母

javascript - 使用过滤器仅显示正确的帖子 - AngularJS

javascript - 使用媒体查询覆盖 JavaScript 样式

c - if 语句代码 - 使其更简单 - 需要建议

c# - 无返回值的条件运算符

javascript - 使用 jQuery 我想在 TD 悬停时突出显示表中的列