5

ページ名 index.php があります。そして、ページの上部に次のようなスクリプト変数があります。

<script>
    var search_quarry = "some_test";
</script>

同じページの下部で、この変数をsrcスクリプト タグの属性に追加します。

<script src=NEED_TO_ADD_HERE></script>

これは機能しません:

<script src=search_quarry> </script>

誰でもこれを行う方法を教えてもらえますか?

4

4 に答える 4

9

DOM 操作を行う必要があります。

var search_query = 'some_test';
s = document.createElement('script');
s.src = search_query;
document.getElementsByTagName('head')[0].appendChild(s);

または、代わりに、これが機能するかどうかはわかりませんが:

<script id="fixme"></script>
<script type="text/javascript">
    var search_query = 'some_test';
    document.getElementById('fixme').src = search_query;
</script>
于 2012-07-12T18:10:14.207 に答える
1

なぜこれを行うのですか?バックエンドを修正せずにサーバーコードを機能させるためのハックのようです

オプション 1 は document.write を使用

<script>
    document.write("<script src='" + search_quarry + "'></scr" + "ipt>");
</script>

オプション 2 は createElement と appendChild を使用することです

<script>
    var scr = document.createElement("script");
    scr.src = search_quarry;
    document.getElementsByTagName("head")[0].appendChild(scr);  //or use body with document onready
</script>
于 2012-07-12T18:12:07.670 に答える
0

これは不可能です。javascript の宣言タグ内で javascript 変数を使用することはできません。これがタグのポイントです。タグ内のすべてが JavaScript として解析されます。それらの外側のすべてはそうではありません。

于 2012-07-12T18:10:05.077 に答える
0

これがあなたが望むことをする簡単な方法です

window.onload=function(){
    var script=document.createElement("script");
    script.type="text/javascript";
    script.src=search_quarry;
    document.appendChild(script)
}

別のものに変更window.onloadしたり、コードを最上位に配置したり、jQuery を使用している場合は、次のようにします。

$(document).ready(function(){
    $(document).append("<script type='text/javascript' src='"+search_quarry+"'/>");
});
于 2012-07-12T18:13:16.660 に答える