gpt4 book ai didi

javascript - Internet Explorer 父窗口上的动态 CSS

转载 作者:行者123 更新时间:2023-11-28 14:54:18 26 4
gpt4 key购买 nike

我喜欢将动态 css 文件添加到 Parent 窗口。我为此构建了这段代码:


function LoadJSCSSFile(filePath,fileType,parentBOO){
//-
var fileRef; // Get the file reference
//-
//Set external JavaScript/CSS file
switch(fileType){
case "js":
fileRef = document.createElement('script');
fileRef.setAttribute("type","text/javascript");
fileRef.setAttribute("src", filePath);
break;
case "css":
fileRef = document.createElement("link");
fileRef.setAttribute("rel", "stylesheet");
fileRef.setAttribute("type", "text/css");
fileRef.setAttribute("href", filePath);
break;
default:
return;
break;
}

//Load the file
if(parentBOO){
parent.document.getElementsByTagName("head")[0].appendChild(fileRef);
}else{
document.getElementsByTagName("head")[0].appendChild(fileRef);
}
}


它在 FireFox 和 Chrome 中工作正常,但在 Internet Explorer 6,7 中(我还没有检查 8,9)我收到下一个 javascript 错误:“无效的论点”在这条线上:
parent.document.getElementsByTagName("head")[0].appendChild(fileRef);

我想知道这是因为跨域安全所以我添加了这一行在父窗口中:
“document.domain = '127.0.0.1';”

但它没有帮助。

最佳答案

我找到了解决方案。问题是我创建的元素不在同一个窗口对象上。为了修复它,我添加了以下行:parent.document.CreateElement 而不是:document.CreateElement

固定代码为:


function LoadJSCSSFile(filePath,fileType,parentBOO){
//-
var fileRef; // Get the file reference
//-
//Set external JavaScript/CSS file
switch(fileType){
case "js":
if(parentBOO){
fileRef = parent.document.createElement('script');
}else{
fileRef = document.createElement('script');
}
fileRef.setAttribute("type","text/javascript");
fileRef.setAttribute("src", filePath);
break;
case "css":
if(parentBOO){
fileRef = parent.document.createElement("link");
}else{
fileRef = document.createElement("link");
}
fileRef.setAttribute("rel", "stylesheet");
fileRef.setAttribute("type", "text/css");
fileRef.setAttribute("href", filePath);
break;
default:
return;
break;
}

//Load the file
if(parentBOO){
parent.document.getElementsByTagName("head")[0].appendChild(fileRef);
}else{
document.getElementsByTagName("head")[0].appendChild(fileRef);
}
}

关于javascript - Internet Explorer 父窗口上的动态 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4012435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com