HTMLページのコードは次のとおりです。
<a href="getReport.php?id=123">View report in a new window</a>
ユーザーがそれをクリックすると、ブラウザーによってダウンロードされ (.png ファイル)、閲覧できるようになります。
代わりに新しいウィンドウで開くにはどうすればよいですか?
アンカー タグに PDF 埋め込みページの URL を指定し、PDF 埋め込みページで、iFrame で PDF を表示してみます。
PDF IFrame :
<iframe src="http://docs.google.com/gview?url=http://ocw.mit.edu/courses/mechanical-engineering/2-000-how-and-why-machines-work-spring-2002/tools/html.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>
フィドル: http://jsfiddle.net/RYh7U/69/
画像 IFrame :
<iframe src="http://upload.wikimedia.org/wikipedia/commons/e/eb/Ash_Tree_-_geograph.org.uk_-_590710.jpg">
</iframe>
Q: 「getReport.php?id=123」が .png 画像としてレンダリングされないということですか (ユーザーにダウンロードを求めています)? それとも、画像として表示されているのに、新しい別のウィンドウに表示したいですか?
前者の場合、サーバーが正しい Content-type ("image/png" など) を送信していることを確認する必要があります。
後者の場合は、Javascript "window.open()" (または同等のもの) を実行するだけです。
======== 更新 =======
私の 1990 年代の Javascript 1.2 の遺産は私に追いついています :) "window.open()" を使用しないでください- Pandian が言うようにして、ポップアップ ウィンドウを実装したい場合に使用してください。詳細は次のとおりです。
同様に、あなたの質問は漠然としています。ファイルが「ダウンロード」を要求していることが問題である場合 (画像がどこにも表示されない場合)、PHP プログラムがファイルを正しく送信していません。少なくとも、バイナリ .png データを送信する前に「Content-type」を設定する必要があります。
「それが役立つことを願っています...
<a href="#" onclick="window.open('getReport.php?id=123', '_blank')">View report in a new window</a>