0

例: 一部のサービスは、サブスクリプション フォームをレンダリングするための JavaScript コードを提供してくれました。

<script type="text/javascript" src="http://example.com/form.js"></script>

すべてがうまく機能します!

しかし、このコードを他のソース (たとえば ajax) から取得し、動的にページに配置する必要があります。

そんな感じ:

var result = '<script type="text/javascript" src="http://example.com/form.js"></script>';
$('#element').html(result);

何も表示されません。ええ、スクリプト要素を作成してから src 属性を編集して要素をどこかに追加できることはわかっていますが、問題は、結果が HTML または HTML/CSS または JavaScript (スクリプト要素) になる可能性があることです。

ありがとうございました :)

4

2 に答える 2

0

これを試して:

<script type="text/JavaScript">
function loadFile(url) {
    function callback() {
        if (req.readyState == 4) { // 4 = Loaded
            if (req.status == 200) {
                if (req.responseText.replace(/(^\s+|\s+$)/g, '').indexOf("<") == 0) {
                    eval(req.responseText); // It's a script, probably
                } else {
                    // It's HTML, probably
                    // Insert req.responseText in some element on your page
                }
            }
        }
    };
    var req = new XMLHttpRequest();
    req.onreadystatechange = callback;
    req.open("GET", url, true);
    req.send("");
}
</script>    

スクリプト ソース URL を引数として loadFile() 関数を実行します。

于 2013-07-16T19:03:20.100 に答える
0

.js 自体にアクセスしたいだけの場合は、AJAX リクエストを使用してファイルを読み取ることができます。

ajaxjQueryの関数を使った例です。jQuery 以外の AJAX リクエストは簡単に実行できます。必要なのは、構文を Google ですばやく検索することだけです。

$.ajax('http://example.com/form.js')
    .done(function(data) { $('#element).html(data); });

出力する必要がある場合は、JS ファイルを他のテキスト ファイルと同じように扱うことができます。

リクエストを読み直すと、JS を実行し、生成された出力を取得してコピーしたいと思うかもしれません。その場合は、文字通り何でもできるスクリプトに依存するため、スクリプトの機能に関する詳細情報が必要になります。

于 2013-07-16T18:57:34.330 に答える