Javascript 这是如何产生错误的?

Javascript 这是如何产生错误的?,javascript,jquery,ajax,firefox,Javascript,Jquery,Ajax,Firefox,我有一个jquery/ajax网站 出于某种原因,在firefox中,我遇到以下错误: 未捕获异常:[异常。。。 “组件返回故障代码: 0x80004005(NS\U错误\U故障) [nsIDOMLocation.href]“nsresult: “0x80004005(NS\U错误\U故障)” 位置:“JS帧:: :: :: 第26行“数据:否] 第0行 但第26行是: if (location.href.indexOf("#")==-1) {location.href="http://tar

我有一个jquery/ajax网站 出于某种原因,在firefox中,我遇到以下错误:

未捕获异常:[异常。。。 “组件返回故障代码: 0x80004005(NS\U错误\U故障) [nsIDOMLocation.href]“nsresult: “0x80004005(NS\U错误\U故障)” 位置:“JS帧:: :: :: 第26行“数据:否]

第0行

但第26行是:

if (location.href.indexOf("#")==-1) {location.href="http://tarh33ls.com/#";}

这将如何产生错误?

我不确定为什么会发生错误,但这似乎解决了问题:

if(location.href.indexOf(“#”)==-1
代码移动到
$(document.ready
块(位于其顶部)中,如下所示:

$(document).ready(function() {
    if (location.href.indexOf("#") == -1) {
        location.href="http://tarh33ls.com/#";
    }
    $.ajaxSetup({
...etc

非常奇怪…在那一行之前做一个检查,比如:console.log(location.href);也许location.href在某种程度上仍然没有定义…这在gc上似乎很好。使用jQuery在
$(文档)中包含init代码通常是个好主意.ready
,以防止代码在不完整的页面上运行。你是什么意思?另外,我会投票支持你的答案,但我没有足够的代表:P@tarH33ls如果js在它之外运行,它会按照浏览器看到的方式运行。因此,例如,您可能会使用js来更改源代码中js下面的一些html元素。代码将尝试运行,但找不到HTML。使用ready意味着在运行js之前,页面将完全加载。(我希望我很清楚..也许这比我解释得更好)你是对的,我遇到了一些问题…没有在文档中放置一些内联代码。就绪,一个脚本之前正在执行…另一个脚本,我通过在文档中放置来修复它。就绪,谢谢你的解释哦,好的,谢谢。我刚开始误解了你,我以为你说我必须初始化jQuery