您看到的 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 脚本会输出一个 JavScript frame=1
。当frame=1
包含 时,它会告诉 PHP 脚本将 JavaScript 嵌入 HTML 页面并提供该页面。
更新: 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>";
}
请注意,我很快就一起输入了这个,所以它可能充满了错误。但它应该给你一个大致的想法。