0

Javascriptを使用して外部PHPファイルを含めるより効率的な方法があるかどうか疑問に思っていました:

<script type="text/javascript" src="widget.php?hash=2&b=NTdhZmI3"></script>

私はこのタイプの方法に慣れていないので、このタイプのインクルードを使用すると複雑になるかどうかわかりません。

どんな助けでも大歓迎です。ありがとう。

編集:スクリプトは意図したとおりに機能し、PHP ファイルは JS として出力されます。これが良い習慣なのか、それともより良い代替案があるのか​​ を知りたいだけです。

4

2 に答える 2

1

これは機能するか、jQuery で AJAX を使用できます。

$.ajax({
    type: "GET",
    url: "widget.php",
    data: "hash=2&b=NTdhZmI3",
    success: function(response) {
        var script = document.createElement('script');
        script.innerHTML = response;
        document.getElementsByName[0].appendChild(script);
    },

    error: function (e) {
        //error callback code goes here
    }
});
于 2013-06-04T00:53:41.810 に答える
1

Javascript には、ファイルをインクルードする特定の方法はありません。サーバー側のインクルードでそれを行う必要があります。サーバー側でphpを使用していると思うので、include()またはrequire()を使用してphp自体にファイルを含めます。

しかし、それでもJavaScriptでそれを行うことができる3つの方法があります。

  1. スクリプト タグ(何をしているか) : スクリプト タグはほぼすべてのファイル (テキスト ファイル) をインポートしますが、出力は js で受け入れられるスクリプトまたはコードでなければなりません。他の形式も含めることができます。それをjavascript変数に入れてdocument.writeするだけです。Like youファイルにはlike要素が含まれます。

    var html='< div class="header"><img src="logo.png"> その他のヘッダー要素 </div>'; document.write(html);

  2. Ajax : ajax を使用すると、任意のファイルを呼び出すことも、その応答を必要に応じて操作することもできます。しかし、センスを含むファイルには役に立ちません。動的コンテンツをロードすることをお勧めします。ヘッダー ファイルをインクルードするシナリオを考えてみましょう。これを ajax で実行すると、ボディが最初に読み込まれ、次にヘッダーが表示され (ajax は非同期であるため)、見栄えが悪くなります。

  3. iFrame : iframe は、ファイルを含める最も簡単な方法です。しかし、リンクの問題、破損した html、データの操作など、キャッシュの問題など、多くの問題があるため、それらは見苦しく、想定されていません。

于 2013-06-04T02:09:39.487 に答える