mod_pagespeed删除外部(第三方cdn)js资源

时间:2011-05-12 10:29:43

标签: javascript mod-pagespeed

我想知道为什么? pagespeed是否需要在本地存储所有JavaScript?

我在pagespeed.conf

中找到了这个
# ModPagespeedDomain
# authorizes rewriting of JS, CSS, and Image files found in this
# domain. By default only resources with the same origin as the
# HTML file are rewritten.

然而,当外部js文件刚从DOM中删除时,情况似乎并非如此。

修改

好的,所以使用默认设置第三方js资源位于head部分。例如:

  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
  <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js"></script>
  <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
使用pagespeed从源代码中删除

。所以我做了一些挖掘和愚弄不同的设置。我想出的是,以下过滤器似乎导致了这个问题:

combine_css
inline_css

我所做的是我一次启用一个过滤器,直到我收到“错误”。

这必须是一个错误吗?不是吗?

2 个答案:

答案 0 :(得分:3)

这里有4个问题试图打破这个例子:

  1. 您声称该文档是通过DOCTYPE html PUBLIC的XHTML“ - // W3C // DTD XHTML 1.0 ......
  2. 您不会关闭第9-12行的链接标记(请参阅附件 问题292 - 下面的链接)
  3. mod_pagespeed 0.9.16.9认为XHTML标签意味着平衡标签
  4. mod_pagespeed在存在不平衡标签时应该更加悲观。
  5. 修复这4个问题中的任何一个都可以解决这个问题。问题3&amp;在0.9.17.3中修复了4,它以源代码形式提供,但尚未作为二进制形式。我们正在发布这个。

    此问题也报告为http://code.google.com/p/modpagespeed/issues/detail?id=292,这实际上与http://code.google.com/p/modpagespeed/issues/detail?id=252

    重复

答案 1 :(得分:1)

不,mod_pagespeed不要求您只使用本地JavaScript资源。

如果您的CDN链接使用了漂亮的"leave off the protocol" trick,那么可能值得查看是否会让mod_pagespeed混淆。

如果没有,请查看您的pagespeed.conf(或者您保留pagespeed配置选项的位置)。这听起来像是错误配置的东西。 Configuration options are listed here。有几个与JavaScript相关,包括combine_javascriptinline_javascript。我不希望其中任何一个与从CDN加载的文件有关,但可能值得一看。 (遗憾的是combine_javascript option的文档页面现在搞砸了,它是combine_css option页面的精确副本。我reported that as a bug。)