我想知道为什么? 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
我所做的是我一次启用一个过滤器,直到我收到“错误”。
这必须是一个错误吗?不是吗?
答案 0 :(得分:3)
这里有4个问题试图打破这个例子:
修复这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_javascript
和inline_javascript
。我不希望其中任何一个与从CDN加载的文件有关,但可能值得一看。 (遗憾的是combine_javascript
option的文档页面现在搞砸了,它是combine_css
option页面的精确副本。我reported that as a bug。)