【发布时间】:2011-04-08 21:44:08
【问题描述】:
我创建了一个 .php 文件来写出这样的 js 代码:
<?
//my_js.php
// javascript header
header('Content-type: text/javascript');
// Date in the past
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
// always modified
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
// HTTP/1.1
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
?>
//
// js code here
//
然后我将上面的脚本包含在我的 index.php 文件中,如下所示:
<script type="text/javascript" src="my_js.php?id=<? echo $id ?>">
</script>
这在 Firefox 中完美运行,但 SAFARI 和 CHROME 根本不包含 my_js.php 文件!
我做错了什么?
**编辑:
这是 index.php 中呈现的 html:
<script type="text/javascript" src="my_js.php?id=new"></script>
这是 my_js.php 代码: (这是一个非常大的文件,所以我只写了前几行)
var g = { sitepath: "myNullUrl" }
function getBrowserWidth(){
if (window.innerWidth){
return window.innerWidth;}
else if (document.documentElement && document.documentElement.clientWidth != 0){
return document.documentElement.clientWidth; }
else if (document.body){return document.body.clientWidth;}
return 0;
}
这是一个奇怪的问题,因为当我从 Crome/Safari 查看源代码时,我可以访问 js 文件,而且似乎没有错误!
我正在使用 Chrome 6.04 和 Safari 5,两者都适用于 mac。
【问题讨论】:
-
请显示完成的渲染 HTML。 PHP 代码在这种情况下毫无意义。
-
请不要使用短开放标签(
<?和<?=而不是<?php和<?php echo)不仅不符合标准,而且还引入了可移植性问题。 -
不应该
? >结束标签造成解析错误吗? -
不介意 ? > 结束标签,那是我的错 :)
-
http://localhost:8888看起来像 MAMP 提供的 localhost 服务器。我也用它。它的结构是这样的,因为您在使用指定端口(如 80 (HTTP))时需要输入管理员密码。
标签: php javascript google-chrome safari include