- ベストアンサー
JavaScript window.openで開く際、そのwindowの背景色を指定したい
親ウィンドウにある画像のサムネイルをクリックすると、子windowにその画像の大きいものが表示されるHTMLを作っています。 その際に、子windowの背景色を黒くしたいのですが、うまくいきません。以下にソースを記載します。 【HTML】 <a href="javascript:void(0);" onClick="winopen('1.jpg')"><img src="1s.jpg" /></a> 【JavaScript】 function winopen(filename) {var w=window.open(filename,'','width=900,Height=700'); w.focus(); w.document.write("<body bgcolor=black>"); } このようになっているのですが、これだとw.document.write("<body bgcolor=black>")のところで、窓全体が黒くなってしまい、jpgがなくなってしまいます。 jpgの背景を黒くしたいのですが、どのようにしたらよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>w.document.write("<body bgcolor=black>"); これだと、ブラウザの画面が新しいBODYオブジェクト(背景=黒)に なってしまい、今までの画像もテキストも消えます。 w.document.body.style.background = "BLACK"; このように、既存のBODYオブジェクトのプロパティを変更する方法に 変更してみてください。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
普通にHTMLを書いちゃえば? とりあえずcssバージョンで <a href="#" onClick="return winopen('1.jpg')"><img src="1s.jpg" /></a> <script> function winopen(filename){ var w=window.open('','_blank','width=900,Height=700'); w.focus(); w.document.open(); w.document.writeln("<html>"); w.document.writeln("<head>"); w.document.writeln("<style type='text/css'>"); w.document.writeln("*{padding:0px;margin:0px;}"); w.document.writeln("body{background-Color:#000000;}"); w.document.writeln("</style>"); w.document.writeln("</head>"); w.document.writeln("<body>"); w.document.writeln("<img src='"+filename+"'>"); w.document.writeln("</body>"); w.document.writeln("</html>"); w.document.close(); return false; } </script>
お礼
なるほど!発想を転換すればよかったですね! ありがとうございました!
お礼
ありがとうございます!できました! No.1の方にいただいた回答とどちらにしようか迷っていますが、勉強になりました。本当にありがとうございました!!