3

javascriptの定義を見つけるカント、それコンテンツが、私はこのような何かを持っていつか私のhtmlファイルでこのIE 6は、私はjavascriptのファイルa.jsを持って

window.model={}; 

model.init=(
function(){return "something"} 
)(); 

のようですクロム、ファイアフォックス、ie8それは動作します。しかしie6またはie7ではモデルが定義されていません。

なぜか分かりません。誰も私を助けることができます。

ありがとうございました! JS

それは最初の "IE6" が、 "IE7" を印刷し
alert("ie7"); 
window.model={}; 

model.init=(
function(){return "something"} 
)(); 

をプリントアウトすることはありません

<script type="text/javascript" src="path/to/a.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
      alert("ie6"); 
     model.init(); 
    }); 
</script> 

中:


は、私はHTMLに、いくつかの警告

を置きます

+3

イム申し訳ありません....... – Rooster

+4

[世界の7.1%がIE6を使用しています](http://www.ie6countdown.com/)、なぜ彼らに美しいバナーを与えません彼らのブラウザがうんざりしていると彼らはアップグレードする必要がありますか? –

+0

今日、私のユーザは、彼のブラウザでは動作しないウェブよりも私に言った。だから、私はそれを修正する必要があります – mike

答えて

1

これは、実行順序、またはいくつかの「巻き上げ」問題があります。

「var model = {}」でモデルを初期化してみてください。次に、実行順序を確認するためにログにデータをダンプしようとします。 IEにはconsole.logを使用するツールがありますが、firebug liteを試すこともできます。

+0

私はいくつかの警告を追加している – mike

2

リファレンスモデルと同じ方法で、windowのプロパティとして宣言します。

window.model.init=(function(){return "something"})(); 

$(document).ready(function() { 
    window.model.init(); 
}); 

または、逆の処理を行い、グローバル変数として宣言することができます。あなたはIE6をサポートする必要が

var model={}; 
関連する問題