表示される JavaScript は、サーバー上の PHP スクリプトです。ブラウザー/ネットワーク デバッガー ツールを使用して、HTTP 応答を確認します。
HTTP/1.1 200 OK
Server nginx/0.7.67
Date Wed, 06 Jun 2012 11:50:44 GMT
Content-Type text/html
Connection keep-alive
X-Powered-By PHP/5.3.10
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma no-cache
Content-Encoding gzip
そして、それが PHP によって動かされていることを確認してください。したがって、これは PHP スクリプトの出力であり、通常の JavaScript ドキュメントではありません。
を省略した場合、PHP スクリプトは JavaScript を出力しますframe=1
。が含まれている場合frame=1
、JavaScript を HTML ページに埋め込んでそれを提供するように PHP スクリプトに指示します。
更新: PHP スクリプトは次のようになります。
<?php
$asHTML = $_GET['frame'] == 1;
if($asHTML) {
// Generate HTTP headers for HTML, like
header("Content-Type", "text/html");
} else {
// Generate HTTP headers for the JavaScript, like
header("Content-Type", "text/javascript");
}
if($asHTML) {
// Generate HTML top document part
echo "<html><head><title>Title</title></head><body><script type=\"text/javascript\">";
// Other HTML header stuff here as well, see the live example (as I am too lazy to type it here)
}
// Read the JavaScript from a file that is available on the server
readfile("javascript.js");
if($asHTML) {
// Close HTML tags
echo "</script></body></html>";
}
これを一緒にすばやく入力したため、おそらくエラーでいっぱいであることに注意してください。しかし、それはあなたに一般的な考えを与えるはずです。