我很难找到办法做到这一点。我被告知我可以使用JavaScript或jQuery。 这就是我所拥有的。
脚本:
<script type="text/javascript">
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)))
{
document.getElementById('mylink').href = "http://google.com/";
}
</script>
链接:
<a href="#" id="mylink">
我甚至尝试过:
<a href="#" id="#mylink">
我想要将链接转到任何其他浏览器上的网站,但如果您在iPhone上转到iTunes链接。如果有人可以帮我解决这个问题,我将非常感激。
答案 0 :(得分:1)
像这样检测移动设备:
var isMobile = navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/);
if(isMobile) {
document.getElementById('mylink').href = "http://google.com/";
}
答案 1 :(得分:1)
建议不要使用浏览器检测,最好通过css媒体查询使用大小检测。 Bootstrap可能会帮助你:
http://getbootstrap.com/css/#responsive-utilities
仅限可见的手机:.visible-xs 隐藏类仅限手机:.hidden-xs
使用网址了解详情。
<!--Only Phones-->
<a href="#" class="visible-xs" id="#mylink">
<!--Anything else-->
<a href="#" class="hidden-xs" id="#mylink">
答案 2 :(得分:0)
使用jQuery,你可以使用
$(document).ready(function() {
if((navigator.userAgent.match(/iPhone|iPod/))) {
$("#mylink").prop("href", <istore link>)
} else {
$("#mylink").prop("href", "http://google.com")
}
});
你的锚标签是
<a href="#" id="mylink"></a>
我没有测试过,但应该是正确的
修改强> 虽然我已经提出足够的基础来解决它。
答案 3 :(得分:0)
尝试将Marks文档就绪部分与您当前的代码结合使用。您还可以通过选择firefox和chrome用户代理在您的盒子上测试它,并且JavaScript在桌面浏览器中更容易调试:)
答案 4 :(得分:0)
您的脚本尝试访问尚未加载的DOM元素!
<script>
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)))
{
document.getElementById('mylink').href = "http://google.com/";
}
</script>
<a href="#" id="mylink">
<强>解决方案:强>
DOMContentLoaded
:<script>
document.addEventListener("DOMContentLoaded", function () {
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)))
{
document.getElementById('mylink').href = "http://google.com/";
}
});
</script>
答案 5 :(得分:0)
在userAgent.match(&#39; iPhone&#39;)中尝试此操作而不是/并且还有使用此脚本的地方,或者它应该位于html中的a-link标记之下,或者将其放在函数中的最佳方式并在body或jquery ready函数的onload函数上调用它们都应该工作......其他一切都很好......谢谢......