我有一个隐藏的div,其中包含我的新链接:
<div id="links" style="display:none">
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
...
</div>
我想改变的链接在我脑海中:
<head id="myHead">
<!-- My olds links I want to replace -->
</head>
我尝试过这样的事情:
updateLinks();
function updateLinks() {
var str = document.getElementById("links").innerHTML;
document.getElementById("myHead").innerHTML = str;
}
但是我的头没有收到新的链接。
我想更新我的链接,因为我下载了html文件,当我尝试打开它们时,我有 ERR_FILE_NOT_FOUND
你能帮帮我吗?答案 0 :(得分:4)
你想要的是像requirejs这样的异步模块加载器(AMD)。 您可以按需加载所有文件。使用它,实现一个懒惰的脚本加载器很简单。 :)
答案 1 :(得分:3)
只需加载新的js脚本就足够了吗?
您可以使用jQuery方法 getScript 为div中脚本的每个属性src调用它,例如:
$("#links script").each(function() {
var src = $(this).attr("src");
$.getScript( src, function( data, textStatus, jqxhr ) {
console.log( data ); // Data returned
console.log( textStatus ); // Success
console.log( jqxhr.status ); // 200
console.log( "Load was performed." );
});
});
答案 2 :(得分:0)
这是您的代码
$(function() {
updateLinks();
});
function updateLinks() {
var po = document.querySelector('#links script');
var s = document.querySelector('head');
s.appendChild(po, s)
}
jsFiddle:http://jsfiddle.net/BenoitNgo/6vca82wh/11/ 这个论坛已经回答了这个问题。