1

次のスクリプトは、sharm のように機能します。

<script type="text/javascript">
    document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');
</script>

http://jsfiddle.net/VHLTx/

しかし、これはそうではありません!なぜ?

<script type="text/javascript">  
$.getScript('http://www.geoplugin.net/javascript.gp', function() {
    $location =  geoplugin_countryName();    

    if($location == "Canada" || $location == "United States") {
      // >>>some code>>>
    } else {
      document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');
    } 
});
</script>

jsfiddleを使用した例を手伝ってください。大歓迎です

ありがとう


<?php
$am = "7:30AM";
$pm = "8:30PM";
$minutes_diff = round(abs(strtotime($pm) - strtotime($am)) / 60);
4

3 に答える 3

5

それがうまくいかない本当のdocument.write()理由は、あなたの呼び出しが呼び出しへの非同期コールバックで発生すること$.getScript()です。これは、元のドキュメントが閉じられた後に発生します。

その結果、元のページの残りの部分が完全に消去されます。

とにかく、その使用のポイントが何であるかは明らかではありdocument.write()ません。

于 2012-07-12T14:26:53.737 に答える
3

getScriptは jQuery メソッドであり、jsfiddle は MooTools をロードするように構成されています。

jsfiddle を使用した例: http://jsfiddle.net/VHLTx/1/

于 2012-07-12T14:22:34.383 に答える
0

を使用するには jQuery を含める必要がありますgetScript()。あなたが提供した動作しないフィドル(http://jsfiddle.net/g3kMt/1)のコンソールエラーは、それgetScript()が未定義のメソッドであることを示しています。設定は、jQuery ではなく MooTools をロードしていることを示しています。

動作する更新バージョンは次のとおりです: http://jsfiddle.net/g3kMt/2/ プルダウン メニューを変更して、MooTools ではなく jQuery を指定しただけです。サイトなどで実行する実際のコードでは、jQuery をロードしていることを確認する必要があります。

HTML ドキュメントにカット アンド ペーストできるバージョンを次に示します。

<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js"></script>  

<script type="text/javascript">   
    $.getScript('http://www.geoplugin.net/javascript.gp', function() {      
        $location =  geoplugin_countryName();            
        if($location == "Canada" || $location == "United States") {
            document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');       
        } else {    
            document.write('<scr'+'ipt type="text/javascript">alert("werwer")</sc'+'ript>');         
        }   
    });  
</script>

Pointy が説明しているように、ここで取ったアプローチは、ページ上の他のコンテンツを消去します。おそらくあなたが望むものではありません。

于 2012-07-12T14:23:00.480 に答える