【问题标题】:PHP generated JS not running on IE7+PHP 生成的 JS 无法在 IE7+ 上运行
【发布时间】:2011-02-24 03:56:39
【问题描述】:

我一直在玩用 PHP 生成的 JS,但到目前为止我对 IE 还没有运气。其他浏览器如 Firefox 和 Chrome 成功解析并执行了 JS 代码。

例如这个页面

http://crusthq.com/projects/CrustTalk/

加载这个 javascript

http://crusthq.com/projects/CrustTalk/_js/?page=demo

我尝试在 PHP 脚本 http://crusthq.com/projects/CrustTalk/_js/ 中发送以下标头

Content-Type: text/javascriptContent-Type: application/x-javascriptContent-Type: application/javascript

没有运气。有谁知道为什么 IE 不解析和执行 JS 代码?

【问题讨论】:

  • 看起来输出正在被缩小。如果没有缩小输出,是否会发生同样的错误?
  • 第一个链接中的 JS,它应该在那个页面上做任何事情吗?
  • @waitinfratrain 当 JS 运行成功时,评论框中的动画加载覆盖消失。
  • @Charles 我尝试输出原始代码,但仍然没有运气

标签: php javascript header content-type


【解决方案1】:

我使用 this instance of the Google Closure Compiler Service 尝试漂亮地打印您的 Javascript。

因为这个错误而失败:

错误数:1

JSC_TRAILING_COMMA:解析错误。 Internet Explorer 对尾随逗号有非标准的解释。数组将具有错误的长度,并且对象根本不会解析。在 ?page=demo

中的第 190 行字符 183
...ully",delay:4,clear:false,method:"append",xButton:true,onClose:function(){},}
                                                                              ^

那个杂乱无章的逗号可能是出了问题的地方。

【讨论】:

  • 代码为 1,500 行,打印后为 55k。我建议把它分成更小的块。您有五个看起来可能是 jQuery 插件的闭包,中间是对 getJSON 的调用,最后是一些函数。有了这么多代码和 IE7 可怕的开发工具,这可能是你最好的选择。
  • 感谢您的意见,查尔斯。使用 PHP 的目的是将不同的 JS 文件合并到一个脚本中。我会像往常一样将每个 JS 文件单独包含进来。
猜你喜欢
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-18
相关资源
最近更新 更多