当前变体看起来像那样(我试过这里提供的解决方案:Can't append <script> element):
var s=document.createElement("script");
s.type="text/javascript";
s.src="js/properties.js";
$("head").append(s);
以前的变体是:
$("head").append($('<script type="text/javascript" src="js/properties.js"></script>'));
他们两个都不工作。 &#34; properties.js&#34;也是在&#34; js&#34;文件夹,但如果我删除这部分路径,它不会改变任何东西。 我也尝试过使用&#39;相反&#34;并检查addBlock:我安装了它,但在此页面上已禁用它。 改变&#34;追加&#34;功能到&#34; appendChild&#34;也没有帮助。
&#34; properties.js&#34;只包含一行:
var PREFIX_URL = "http://localhost:8080/app-rest-1.0.0-SNAPSHOT";
首先我在&#34; main.js&#34;中声明它。事实上,我试图连接这个文件。 请解释一下,我做错了什么。
答案 0 :(得分:0)
在结束<script>
标记之前添加所有</body>
标记,因为当浏览器遇到<script>
标记时,它会开始下载并停止呈现网页。因此,通过将它们放在页面底部,您可以确保在尝试与DOM元素交互之前完全加载页面。此外,$("head")
会返回所有<head>
标记的数组。您还应该将您的通话括在$(document).ready()
功能中。
<!-- Your html tags here -->
<script type="text/javascript">
$(document).ready(function(){
var s=document.createElement("script");
s.type="text/javascript";
s.src="js/properties.js";
$("head")[0].append(s);
});
</script>
</body>
答案 1 :(得分:0)
我制作了JSBin example。您可以在控制台中看到最后一个脚本标记是您需要的标记。所以你的代码是正确的。
如果您的IDE没有突出显示&#39; var&#39; - 它可能是错误,而不是在JavaScript中。例如,您可以将它放在错误的位置。
您是否可以提供指向(或pastie.org或smth)的链接,以便我们更好地了解您的问题。
P.S。代码$(&#34; head&#34;)[0] .append给我未定义(注意前一个答案)