在所有浏览器上执行javascript代码但是chrome?

时间:2013-01-19 21:16:50

标签: javascript html google-chrome firefox browser

可以在所有浏览器上执行javascript代码,但不能在chrome上执行吗?

我尝试在任何地方寻找代码段,但我只找到浏览器检测代码并且无法一起工作,因此代码将无法在Chrome浏览器上执行:(

任何帮助将不胜感激!

这就是我现在拥有的,这会有用吗?

<SCRIPT language="JavaScript">
<!--
var browserName=navigator.appName; 
if (browserName=="Google Chrome")
{ 

}
else 
{ 
 "the code for every other browser here"
   }
}
//-->
</SCRIPT>

2 个答案:

答案 0 :(得分:0)

在这种情况下,

appName没有帮助,因为在大多数情况下它只返回"Netscape"。请改用appVersion

var isChrome = /Chrome/i.test(navigator.appVersion);
if(!isChrome){
    //stuff for non-Chrome
}

但是,用户可以轻松覆盖此值,从而导致浏览器检测不可靠。

答案 1 :(得分:0)

运行console.log(window)后我注意到对象名称为chrome,我尝试测试此对象的其他浏览器并且未定义

http://jsfiddle.net/aWqSt/1/

if(!window.chrome){
    alert("you are not using google chrome :(");
}else{
    alert("you are using google chrome");
}

你最有可能对Derek或我的例子保证安全,考虑到用户没有篡改请求但是更确定用户没有使用谷歌浏览器

http://jsfiddle.net/aWqSt/2/

var isChrome = /Chrome/i.test(navigator.appVersion);
if(!window.chrome && !isChrome){
    alert("you are not using google chrome :(");
}else{
    alert("you are using google chrome");
}