2

サーバー上のhtmlファイルを使用して新しいウィンドウを開くことは可能ですか?しかし、「myfile.html」はブラウザのURLからアクセスできませんか?

<FORM>
<INPUT type="button" value="New Window!" 
onClick="window.open('./publico/myfile.html','mywindow')">
</FORM>

ffワークスペースでPHPを使用しています:C:\ worksheet \ myproject \ publico \ index.html

それとも何か提案がありますか?

どうもありがとうございます!

4

2 に答える 2

4

いいえ、あなたの例とは異なります。window.openユーザーの Web ブラウザーにウィンドウを開くように指示する JavaScript コードです。ユーザーの Web ブラウザは、ファイルが Web 経由で、つまり URL で利用できない限り、サーバー上のファイルにアクセスできません。

PHP を使用してドキュメントのコンテンツを JavaScript 文字列に書き出し、JavaScript を使用してそのコンテンツを新しく開いたウィンドウに追加できる場合があります。

これは、Chrome でほとんど動作するように見える JavaScript を使用した非常にばかげた例ですが、コードを改善できると確信しており、信頼できるクロスブラウザーではない可能性があり、そのビットを書くのに十分な PHP を知りません。

<script>
var newWindowContent = '<?php echo WHATEVER_PHP_CODE_WILL_WRITE_OUT_THE_HTML_PROPERLY_ESCAPED ?>';
</script>
<FORM>
<INPUT type="button" value="New Window!" 
onClick="var mywindow = window.open(); mywindow.document.getElementsByTagName('html')[0].innerHTML = newWindowContent;">
</FORM>
于 2013-01-30T15:41:35.613 に答える
0

いいえ。

Web サーバーは、ブラウザが特定のウィンドウにファイルを表示するかどうかを知りません。これは、これに依存する権限を処理できないことを意味します。

特定の条件が満たされない限り、ユーザーが特定のファイルにアクセスできないようにする場合は、そのファイルを php ファイルにし、要求する前に Cookie を設定し、この Cookie がアクセスされたときに php ファイルが 403 禁止エラー コードを返すようにすることができます。設定されていない場合と設定されている場合のコンテンツ (ユーザーが Cookie を偽造できることに注意してください)。

于 2013-01-30T15:45:13.903 に答える