Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个javascript错误涉及到单词“quot;事件“;在Firefox中?_Javascript_Google Chrome_Firefox_Cross Browser_Lungo - Fatal编程技术网

这个javascript错误涉及到单词“quot;事件“;在Firefox中?

这个javascript错误涉及到单词“quot;事件“;在Firefox中?,javascript,google-chrome,firefox,cross-browser,lungo,Javascript,Google Chrome,Firefox,Cross Browser,Lungo,我正在使用Lungo框架。我试图了解我的代码中是否有bug,或者框架中是否有bug,因为我想“这行代码在Firefox 26.0中抛出了以下错误,但在Chrome 31.0.1650.63中没有: _sameSection = function () { var dispacher_section, same; if (!event || !lng.Element.Cache.section) { //event is not defined retur

我正在使用Lungo框架。我试图了解我的代码中是否有bug,或者框架中是否有bug,因为我想“这行代码在Firefox 26.0中抛出了以下错误,但在Chrome 31.0.1650.63中没有:

 _sameSection = function () {
     var dispacher_section, same;
     if (!event || !lng.Element.Cache.section) {  //event is not defined
         return true; 
     }
我知道event在javascript()中不是一个保留字,但在IE中它是一个全局变量。它在Chrome上也是一个保留字吗?因为我没有在Chrome上看到这个错误


如果我回顾代码,我会发现事件并没有被定义为这个函数范围之外的变量。因此,这似乎与不同的浏览器如何处理“事件”一词有关

考虑使用显式检查而不是隐式检查:

typeof(window.event) === "undefined"

不同的浏览器对其他浏览器的特殊情况有不同的行为(这就是为什么像jQuery这样的库更容易处理-许多一次性情况已经在库中处理了)。

chome定义了“事件”并将其设置为未定义。可能是为了使这样的脚本不会出错……实际上,如果“事件”定义了与否,只会将其初始化为某个值,那么就不会有好结果。(“窗口中的“事件”)更合适。@dandavis-不确定您建议了什么替代方案-您能显示条件吗?虽然我同意我的检查不完全是“如果
事件
未定义”,但我相信它与原始
的意图相当接近!事件
-它将告诉您,
事件
未定义或定义为
未定义
(这可能是将FF/Chrome与IE区分开来的原始代码)。@AlexeiLevenkov修复了我的问题。你能解释一下“不同的浏览器对于其他浏览器的特殊情况有不同的行为(这就是为什么像jQuery这样的库更容易——许多一次性的情况已经在库中处理了)”的意思吗?@akh2103-检查。浏览器拥有不太标准的功能,这可能是因为历史原因(即是最流行的功能之一,尤其是因为大多数其他浏览器强制自动更新到最新版本),也可能是因为新的尚未标准化的功能。大多数开发人员没有在多个浏览器中测试代码,因此浏览器的作者必须决定支持什么“非标准”行为,以及是否/如何这样做。像jQuery这样的库对大量这样的“特性”进行了所有必要的(并且正确地实现了)检查,并提供了统一的编码方式,而无需检查浏览器。