Javascript 重新定义变量
您好,我有替换Javascript 重新定义变量,javascript,jquery,Javascript,Jquery,您好,我有替换文档的代码。编写,生成缓冲区,然后将缓冲区推入文档: var lazyLoad = (function () { var CONFIG = { block: '', url: '' }; function work(){ buffer = '' d.write = d.writeln = function(s){ bu
文档的代码。编写,生成缓冲区,然后将缓冲区推入文档:
var lazyLoad = (function () {
var CONFIG = {
block: '',
url: ''
};
function work(){
buffer = ''
d.write = d.writeln = function(s){
buffer += s
}
d.open = d.close = function(){}
s = d.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src',CONFIG.url);
d.getElementById(CONFIG.block).appendChild(s)
s.onload = function () {
window.setTimeout(function() {
console.warn(CONFIG.block + ' ' + buffer)
d.getElementById(CONFIG.block).innerHTML += buffer;
buffer = '';
}, 0);
}
}
return {
init: function (options) {
$.extend(CONFIG, options);
window.d = document
window.onload = function(){
work()
}
}
}
})();
如果我初始化它一次:
lazyLoad.init({
url: 'http://test1.com/test1.js',
block: DIVID1
})
但如果我用其他参数再次调用它:
lazyLoad.init({
url: 'http://test2.com/test2.js',
block: DIVID2
})
首先,它不起作用<代码>缓冲区
将为空。我的错在哪里 通过调用$.extend(配置,选项)
,您将用新配置替换以前的配置
相反,您应该创建一个数组,并将每个选项
附加到其中。我对缓冲区有问题。在第一次初始化之后,它是空的,但在第二次初始化之后,它有一些代码。我认为,$.extend
不会取代我的缓冲区。