2010-11-25 5 views
1

で働いていません。 IE8ではうまくいきません。私がHTML-> HEAD要素にスクリプトタグを追加すると意味がありません。スクリプトがブラウザに読み込まれていない(スクリプトの警告が表示されません)。タグがHTML-HEADに挿入されているのが分かります。は、コードの以下の部分はIE6 & IE7での作業とFFのほぼすべてのバージョンIE8た

var head = document getElementsByTagName('head')[0]; 
// Check if the script is already loaded. 
if (head){ 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.language = 'JavaScript'; 
    script.src = '/Tolven/scripts/' + jsFileName; 
    head.appendChild(script);  
} 

誰でもこの問題がありますか?これを解決するための手掛かりはありますか?

+0

? ( '$$'はネイティブなJSメソッドではありません)。 – Piskvor

+0

これはprototype.jsなので、JSメソッドを使用するように質問を変更しました。 –

+0

ie8で何らかのエラーメッセージが表示されますか? –

答えて

1

このスクリプトは、このスクリプトが解析され、実行されたときにヘッドが存在しないよりも、<head>タグである場合。だから、if (head)falseです。

あなたはJSフレームワークを使用している - それは、ツールの使用にはお気軽に。また、フレームワークを使用する前に、そのフレームワークを含めることを忘れないでください。

<!-- if your are using mootools --> 
<script type="text/javascript" src="mootools.js"></script> 
<script type="text/javascript"> 
    window.addEvent('domready', function() { 
    // Your code... 
    }); 
</script> 

<!-- if your are using prototype --> 
<script type="text/javascript" src="prototype.js"></script> 
<script type="text/javascript"> 
    document.observe("dom:loaded", function() { 
    // Your code... 
    }); 
</script> 
+0

このスクリプトは、.jsファイルにあるJSメソッドを呼び出そうとすると実行されます。 JSメソッドを実行する前に、スクリプトが含まれていないかどうかをチェックし、そうでない場合はスクリプトを含めます。このコードが実行されている場合は、必ずがあります。私はHTMLにスクリプトタグが含まれているのを見ました。ありがとう –

0
var head = document getElementsByTagName('head')[0]; 

var head = document.getElementsByTagName('head')[0]; 

スクリプトはこの変更後に動作するようですでなければなりません。

+0

申し訳ありませんが、それはタイプミスでした。 DOMを照会するためのプロトタイプを使用していましたが、$$()呼び出しをJSメソッドに置き換えました。 –

1

は本当によく実行時にスクリプトを含めての仕事をすることRequireJSまたはLABjsのようなライブラリを使用することを検討してください。

-1

これは、実際に働いていましたさ。実行時に挿入されるスクリプトの1つにエラー(IE8でのみ発生する)がありました。最終的には、次に読み込まれるページでアラートを実行しません。あなたの答えをありがとう。使用しているフレームワークとバージョン

関連する問題