我有一些Javascript我想要iPad / iPhone忽略,但是对于其他浏览器来说。 JS是:
<script src="scripts/jquery.anchor.js" type="text/javascript"></script>
我在此网站上发现了一些针对特定设备的代码,如下所示:
<script>
var userAgent = navigator.userAgent;
if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) {
// iPad or iPhone
}
else {
// Anything else
}
</script>
我是一个JavaScript新手,并且不知道在//任何其他评论后放置脚本的语法...任何帮助表示感谢。谢谢!
答案 0 :(得分:3)
请勿测试浏览器,测试它提供的功能。
如果所有浏览器都不支持某项功能,请不要测试哪些浏览器不支持它,因为如果它将来支持它会怎么样?
做这样的事情:
if (nonStandardFunction) {
nonStandardFunction();
}
这样,任何支持它的浏览器都会执行它,而你不关心哪些是做或不做。
您也可以自己添加功能:
window.nonStandardFunction = window.nonStandardFunction || function () {
// your implementation
};
另一方面,如果您特别不希望i<Device>
访问它,请测试用户代理。
以下是您可以做的一个示例:
var addJS = function (file) {
var head = document.getElementsByTagName('head')[0],
script= document.createElement("script");
script.type = "text/javascript"; // redundant
script.src = file;
head.appendChild(script);
}, userAgent = navigator.userAgent,
isNotiDevice = !(userAgent.match(/iPad/i) || userAgent.match(/iPhone/i));
if (isNotiDevice) {
addJS('scripts/jquery.anchor.js');
}
答案 1 :(得分:0)
不确定这是否有帮助,但您可以使用
<script id="someID" type="text/javascript"></script>
然后
document.getElementById('someID').src= 'script.js';
只需在特定浏览器的if语句中定制它。