Internet Explorer 中父窗口上的动态 CSS
我喜欢将动态 css 文件添加到父窗口。 我为其构建了以下代码:
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);
我想知道这是因为跨域安全所以我添加了这一行 在父窗口中: <代码> “文档.域 = '127.0.0.1';”
但它没有帮助。
I like to add a dynamic css file to a Parent window.
I build this code for it:
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);
}
}
Its working fine in FireFox and Chrome but in Internet Explorer 6,7 (i do not check in 8,9 yet) i am getting the next javascript error:
"Invalid argument"
On this line:
parent.document.getElementsByTagName("head")[0].appendChild(fileRef);
I was wondering that it is because the cross domain security so i add this line
in the parent window:
"document.domain = '127.0.0.1';"
But its not help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我找到了解决方案。
问题是我创建的元素不在同一个窗口对象上。
要修复它,我添加行:parent.document.CreateElement 而不是:document.CreateElement
固定代码是:
I found the solution.
The problem was that i create the element not on the same window object.
To fix it i add the line: parent.document.CreateElement instead of: document.CreateElement
The fixed code is: