• ベストアンサー

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の背景を黒くしたいのですが、どのようにしたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

>w.document.write("<body bgcolor=black>"); これだと、ブラウザの画面が新しいBODYオブジェクト(背景=黒)に なってしまい、今までの画像もテキストも消えます。 w.document.body.style.background = "BLACK"; このように、既存のBODYオブジェクトのプロパティを変更する方法に 変更してみてください。

izuizumin
質問者

お礼

ありがとうございます!できました! No.1の方にいただいた回答とどちらにしようか迷っていますが、勉強になりました。本当にありがとうございました!!

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

普通に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>

izuizumin
質問者

お礼

なるほど!発想を転換すればよかったですね! ありがとうございました!

関連するQ&A