2

一部のjavascriptコードも含むページをロードしています.javascriptコード$.getScript()の一部はphpを介して動的に構築されるため、ここではアプローチは機能しません。

<div id="fetch-me">
...
<script...>
var posts = <?php .... ?> 
...
</script>
</div>

この種の問題に精通しているかもしれませんが、この div をロードすると、次のようになります。

$("#load-me").load("... #fetch-me"); 

Javascriptは使用できません。私は明らかに実行する必要があります。そして、私はいくつかのことを試しましたが、成功しませんでした. 例として、これ:

$("#load-me").load("... #fetch-me", function(){
 eval($("#load-me").find("script").text());
}); 

助けていただければ幸いです。

4

3 に答える 3

1

loadコールバックにロードしたデータを返します。スクリプトを取得して<script>タグに追加してみてください。

$("#load-me").load("... #fetch-me", function(data){
    $('<script>').html($(data).filter('script').html()).appendTo('head');
});

読み込まれたページに複数のスクリプト タグがある場合、機能しない可能性があります。その場合は、これを試してください:

$("#load-me").load("... #fetch-me", function(data){
    $(data).filter('script').each(function(){
        $('<script>').html($(this).html()).appendTo('head');
    });
});

PSこれが機能しない場合は、に変更.filterしてみてください.find

于 2012-05-01T19:09:08.137 に答える
0

JavaScript で文字列変数に引用符を追加しましたか?

var posts = "<?php .... ?>" 
于 2012-05-01T19:08:55.097 に答える
0

次のように実行できます。

$.get("page.php", function(data){
    //data is the information that page.php returns
    //Now instead of use this --> var posts = <?php .... ?>
    //do this:
    var post = data;
});
于 2012-05-01T19:13:47.863 に答える