0
我做了這個函數從數組中加載內聯javascript,html和外部javascript,它似乎可以在所有瀏覽器中工作,但偶爾會在ie9和ie10中加載內部的js和html但不是外部文件。由javascript加載的外部JavaScript有時不工作在IE中
http://jsfiddle.net/fjfzmf2d/10/
// Append js and html.
function _append(selector, arr) {
var content = arr;
for(var i = 0; i< content.length; i++) {
var _content = content[i];
var js = _content.indexOf('script');
if(js > -1) {
// Script tag.
var script = document.createElement('script');
script.type = 'text/javascript';
var regex = /<script.*?src="(.*?)"/gmi;
var url = regex.exec(_content);
var inline = '';
if(url) {
script.src = url[1];
}
_content.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function(){
inline += arguments[1] + '\n';
});
script.text = inline;
selector.appendChild(script);
} else {
// html content.
selector.innerHTML += _content;
}
}
}
// Selector - div or tag.
var selector = document.body;
// Array with inline and external javascript.
var arr = [];
// Inline javascript.
arr.push('<script>alert("inline javascript");</\script>');
arr.push('<script>alert("more inline javascript");</\script>');
// External script.
arr.push('<script type="text/javascript" src="http://chrismills.la/test.js"></\script>');
// html.
arr.push('<p>Content.</p>');
arr.push('<p>More Content.</p><p>More Content 2.</p>');
_append(selector, arr);
你想用所有的正則表達式來完成什麼? – Ryan 2014-09-02 23:13:35
一個從數組中的外部腳本字符串獲取url,一個從嵌入式javascript的