2016-04-09 7 views
0

jsファイルを実行せずにプリロードしようとしています。私のコードは、これはFirefoxとIEでしかCreatingのログが表示されたトリガされたクロムで完璧に動作Chromeでスクリプトのプリロードに失敗する

for(var i=0; i<preload.length; i++){ 
     o = document.createElement('Object'); 
     o.data = preload[i]; 
     o.width = 1; 
     o.height = 1; 
     o.style.visibility = "hidden"; 
     o.type = "text/cache"; 
     o.className = "hidden"; 
     console.log("Creating: ",o); 

     o.onload = function(){ 
      console.info("Trying to load ",this.data," : ",i); 
      itemloaded(this); 
     } 
     // all others require body 
     document.body.appendChild(o); 
     } 

あるoObjectとして、それを報告しているFFとIEのに対し、匿名関数は、ある、とクロムは決して思いませんonload

+0

URLを設定する前に( "data") "onload"ハンドラ*を設定することをお勧めします。 – Pointy

+0

@Pointy私もそれを試しましたが、違いはありません – btdev

答えて

-1

なぜcommonjsまたはamdを使用しないのですか? またはこれを試してください。

var script = document.createElement('script'); 
script.src = 'http://path/to/your/script.js'; 
script.onload = function() { 
// do something here 
} 

document.head.appendChild(script); 
+0

それは単一のスクリプトではありません。私はそれらのすべてがロードされるまでそれらを実行したくない。あなたのメソッドは、読み込まれると自動的にスクリプトを実行します – btdev

関連する問題