我在动态添加脚本元素时遇到问题(使用jQuery)。 向DOM添加新脚本元素的代码如下:
var pScript = document.createElement("script");
pScript.type = "text/javascript";
pScript.src = sFile;
// Add element to the end of head element
$("head").append(pScript);
添加脚本没有问题,代码运行完美。
但是,当我尝试查找新添加的脚本时,会出现问题。我使用此代码迭代所有脚本元素:
var bAdd = true;
$("script").each(function()
{
if(this.src == sFile)
bAdd = false;
});
(我需要此代码来防止添加已加载的脚本)
问题是所有其他脚本元素都设置了src属性,但新添加的(动态)没有......
有什么想法吗?
答案 0 :(得分:1)
如果src
实际上是空的(由于某些安全措施或某些原因),那么你可以尝试其他类似的东西,比如
var include = (function() {
var included = {};
return function(url) {
if (!url in included){
//include script
...
included[url] = true // you can set it to anything
}
};
})();
更新使用included
不会污染范围的代码。