使用javascript和jQuery,我正在尝试使用以下代码从当前正在加载脚本的同一文件夹中动态加载文件:
var script = document.currentScript || (function () {
var scripts = document.getElementsByTagName("script");
return scripts[scripts.length - 1];
})();
browser = window.browser || {};
browser.extension = {};
browser.extension.getURL = function (s) {
return script.src.replace(/[^/]+$/, "") + s;
};
loadCSS = function () {
// Dynamically load CSS.
var css = document.createElement("link");
css.setAttribute("rel", "stylesheet");
css.setAttribute("type", "text/css");
css.setAttribute("href", browser.extension.getURL("cssFile.css"));
document.getElementsByTagName("head")[0].appendChild(css);
}
它适用于Chrome,FF和Safari,但URL路径仅适用于IE。
我是否可以使用从脚本本身加载css文件的替代加载方法?
答案 0 :(得分:1)
试试这段代码 对于javascript文件
function addJavascript(fileName, onload) {
var imported = document.createElement('script');
document.head.appendChild(imported);
imported.src = fileName;
if(onload != undefined)
imported.onload = onload;
}
function removeJavascript(fileName) {
$('head script[src*="' + fileName + '"]').remove();
}
和css文件
function addCss(fileName) {
var link = '<link rel="stylesheet" type="text/css" href="' + fileName + '">';
$('head').append(link);
}
function removeCss(fileName) {
$('link[rel=stylesheet][href*="' + fileName + '"]').remove();
}