• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:サブウィンドウ関係のコードの改造(その2))

改造されたサブウィンドウのコードについての質問

このQ&Aのポイント
  • サブウィンドウを開いた2回目以降に反応しなくなる現象が発生しています。
  • 開いたサブウィンドウのソースにはHTMLタグしか存在せず、タイトルや画像は表示されています。
  • サブウィンドウの上下左右の余白をゼロに設定したいです。

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.1

こんにちは サンプルソースを試してみたのですがポップアップブロックされてみることができなかったので詳しい状況は分からないのですが・・・ (1)サブウィンドウを開いたまま別のサブウィンドウを開こうとしているのではないですか? その場合、サブウィンドウはバックグラウンドにいきそこで表示を変えるので動いていないように感じられます (2)確かinnerHTMLで書かれたソースはソース表示しても見れなかったと思います とりあえず自分のも載せますが後述するようにこれもまだ完全ではありません(--;) <script language="JavaScript"> <!-- function openWin(sub,img,win) { title=sub.title; var w1=""; var i = ""; var i = new Image(); i.src = img; w1=window.open("",""+win+"","width="+i.width+",height="+i.height+",top=300px,left=300px,scrollbars=no,location=no,status=no"); w1.document.open(); w1.document.write("<html><head><title>"+title+"<"+"/title>"); w1.document.write("<"+"/head>"); w1.document.write("<body style='margin:0px'>"); w1.document.write("<img src='"+img+"' alt='"+title+"' onClick='window.close()'>"); w1.document.write("<"+"/body>"); w1.document.write("<"+"/html>"); w1.document.close(); } //--> </script> <input type="button" value="題名1" onClick=" openWin(this,'sample0.gif','win01')" title="題名1"> <input type="button" value="題名2" onClick=" openWin(this,'sample1.gif','win02')" title="題名2"> <input type="button" value="題名3" onClick=" openWin(this,'sample2.gif','win03')" title="題名3"> p.s. 何故完全でないかというと利用者のブラウザや設定によってうまく表示できないからです ・僕はNortonを使っているのでIEブラウザの上にNortonのoptionバーがあるのでhight+20位しないと全部の表示ができないです ・(Operaなど)設定でウィンドウで開くようにしていないと全画面表示になるのでwidth,height指定する意味がなくなります ・100px角以下の画像では余白ができてしまいます ・ボタン毎に違うサブウィンドウを開きますが閉じていないと(1)の状態になります w1.document.write("<body style='margin:0px' onBlur='focus()'>"); とするとサブウィンドウを閉じないと何もできないので一時的な解消にはなります 一律に表示させるのであれば <div>にinnerHTMLで書き込んでstyle:displayのnone←→blockで表示・非表示を切り替えたり 新しいウィンドウを開かないwindow.openであるPrototype windowや 画像を拡大させるHighslide.jsやLightbox.jsなどを 勉強してみてはどうですか?

litton101
質問者

お礼

leap_dayさん、御礼が遅くなって大変失礼いたしました。 別の作業をしていて、本件に戻ってこれずにいました。 さて、ご教示のコードですが、わたしとしては大変満足です。 psに書いていただいた点は注意しなければならないということで 状況は目に浮かびますが、つまるところ完全なものは なかなか難しいということですかね・・・ Lightbox.jsなども遊んでみたことがありますが、 めちゃくちゃ敷居高そうです・・・ ともかく、ご教示のものをベースに組み込んで見ます。 本当にありがとうございました。

関連するQ&A