我刚刚开始为一个项目做一些Javascript工作,我做的主要是后端工作,所以我很抱歉在这个新手!此外,不使用Javascript框架,因为我想在让自己变得非常容易之前了解基础知识:)
所以,这是我的问题/困惑:我写了一个动态改变形式的小javascript。这就是我调用代码的方式:
// loads the initial box
window.onload = initList(environment_box);
// loads artifacts on each change to environment select box
environment_box.onchange = changeList;
这就像魔法一样 - 在CHROME中就是这样!我从来没有注意到它不适用于Firefox(它只是一个内部工具,所以我可以假设不错的浏览器,但我觉得嘿,如果它在Chrome中运行,它将在Firefox中运行!)。所以,我做了一些调查,好像代码没有在Firefox中执行。我掏出了萤火虫,想看看发生了什么事。
有趣的是,当我在firebug上启用Console时,我的代码被执行了!我很困惑为什么,我非常感谢我能得到的任何帮助。谢谢!
-Shawn
答案 0 :(得分:10)
您在JavaScript中调用console
上的某些方法是我最好的猜测。 Chrome已将console
定义为默认值,因此不存在问题。
但是,在Firefox上,没有这样的全局对象(不是没有Firebug),因此当您尝试在未定义的对象上调用属性时,
console.log(..);
它抛出了一个你没有捕获的异常,因此JavaScript执行暂停。
答案 1 :(得分:1)
您可能正在调用控制台对象的方法,在大多数Web浏览器中默认情况下该方法不存在。它可能总是在基于webkit的浏览器(如Chrome)上可用,但是使用firefox / IE(/ opera?)它需要一个外部加载项,无论是firebug还是javascript依赖项。
检查诸如firebugx之类的东西,它只是将控制台对象的最常用方法定义为无操作函数。