2

私の問題は、動的に作成できないこと<script>です。誰もこれを修正する方法を持っていますか? 私がこれを理解しているのは、XML では最初はできないことをしようとしているからです。XML を変更する必要があるのではないかと思いますが、代わりに html 呼び出しをどこかで使用する必要があるのではないかと思います。

$(document).ready(function(){
    $.get('js.xml', function(data){

        $(data).find('info').each(function(){

            var $info = $(this);
            var links = $info.find("scp");


            var html = '<script type="text/javascript" src="' + links + '"></script>';

            $('body').append($(html));

        });

    });

});

----------------------!! JSFIDDLE を追加 -------------------------------

ジャスフィドル

4

4 に答える 4

1

$.getScriptDOM に追加する代わりに使用してみてください。次に例を示します。

$(document).ready(function(){
    $.get('js.xml', function(data){

        $(data).find('info').each(function(){

            var $info = $(this);
            var links = $info.find("scp");


            $.getScript(link);

        });

    });

});

あなたのxmlファイルには以下が含まれているようです:

<location>
<info>
<scp>
<script type="text/javascript" src="https://www.printersmall.com/jqueryui/1.8.17/jquery.cookie.js"></script>
</scp>
</info>
</location>

xml ファイルは次のようになります。

<location>
<info>
<scp>
    www.printersmall.com/jqueryui/1.8.17/jquery.cookie.js
</scp>
</info>
</location>
于 2012-11-19T17:12:03.307 に答える
0

スクリプトタグを動的に作成する必要はありません。依存関係を注入する必要があります。Angularのようなフレームワークをお勧めしますが、getScriptはjQueryでも機能します。依存性注入でgetScriptのようなものを使用する場合の問題は、コードベースが適切に構造化されてモジュール化されないことです。長期的に問題を引き起こす密結合のコードになってしまいます。緩い結合を促進するために、AngularJSのようなものを使用することをお勧めします。これは、非常に動的なソフトウェアを構築する場合の大きな懸念事項です。

于 2012-11-19T18:40:08.603 に答える
0

私は専門家ではありませんdataが、$(data)

于 2012-11-19T17:10:50.137 に答える
0

linksscp の内容がスクリプト ソースである場合は、それを取得するために使用する必要がある jQuery オブジェクトです.text()

var links = $info.find("scp").text();
于 2012-11-19T17:13:02.180 に答える