我有一个页面名称 index.php。我在页面顶部有一个脚本变量,如下所示:
<script>
var search_quarry = "some_test";
</script>
在同一页面的底部,我想将此变量添加到src
脚本标记的属性中:
<script src=NEED_TO_ADD_HERE></script>
这不起作用:
<script src=search_quarry> </script>
谁能告诉我该怎么做?
我有一个页面名称 index.php。我在页面顶部有一个脚本变量,如下所示:
<script>
var search_quarry = "some_test";
</script>
在同一页面的底部,我想将此变量添加到src
脚本标记的属性中:
<script src=NEED_TO_ADD_HERE></script>
这不起作用:
<script src=search_quarry> </script>
谁能告诉我该怎么做?
您需要处理 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>
你为什么要这样做?似乎是在不修复后端的情况下使服务器代码工作的技巧
选项 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>
这是不可能的。您不能在 javascript 的声明标记中使用 javascript 变量。这就是标签的重点:其中的所有内容都被解析为 javascript;他们之外的一切都不是。
这是一个简单的方法来做你想做的事
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+"'/>");
});