如何动态更改我的包含到 js 文件?
How to dynamically change my includes to js files?
我有一个隐藏的 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
你能帮帮我吗?
你想要的是像requirejs这样的异步模块加载器(AMD)。
您可以按需加载所有文件。使用它很容易实现一个惰性脚本加载器。 :)
仅加载新的 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." );
});
});
这是您的代码
$(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/
这个问题已经在这个论坛上回答了。
我有一个隐藏的 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
你能帮帮我吗?
你想要的是像requirejs这样的异步模块加载器(AMD)。 您可以按需加载所有文件。使用它很容易实现一个惰性脚本加载器。 :)
仅加载新的 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." );
});
});
这是您的代码
$(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/ 这个问题已经在这个论坛上回答了。