2010-11-29 8 views
0

私はいくつかの理由tarh33ls.com でjqueryの/ AJAXウェブサイトを持っているが、Firefoxでは、私は次のエラーを取得する:これはどうしたらエラーになりますか?

uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.href]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://tarh33ls.com/ :: :: line 26" data: no]

Line 0

が、ライン26は以下のとおりです。

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

どのようにそれがエラーを生成します?

+0

非常に奇妙な...そのような行の前に何かをチェックしてください: console.log(location.href); おそらくlocation.hrefは何とか未定義です... これはGC上でうまく動作しているようです – farinspace

答えて

1

エラーがなぜ起こるか私はわからないんだけど、これはそれを修正するようだ:

このように、(それの上部にある) $(document).readyブロック内 if (location.href.indexOf("#") == -1コードを移動し

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

jQueryを使用してコードが実行されないようにするには、 '$(document).ready'内にinitコードを含めるとよいでしょう。不完全なページで – cambraca

+0

どういう意味ですか?また、私はあなたの答えを投票するだろうが、私は十分な担当者を持っていない:P – tarH33ls

+0

@ tarH33lsあなたがそれの外で実行されている場合、それはブラウザがそれを見るように実行されます。たとえば、ソースコード内でjsの下にあるhtml要素を変更するjsがあるとします。コードは実行しようとしますが、HTMLは見つかりません。準備完了を使用すると、jsを実行する前にページが完全に読み込まれます。 (私は私がはっきりしていることを願っています。おそらく[準備が整ったjQueryのページ](http://api.jquery.com/ready/)は私よりもうまく説明しています) – cambraca

関連する問題