親ウィンドウに動的 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);
クロスドメインセキュリティが原因ではないかと思っていたので、親ウィンドウに次の行を追加します。
"document.domain = '127.0.0.1';"
しかし、それは助けにはなりません。