我从服务器为小JS文件生成html标记,如下所示:
<script defer src="external-script.js"></script>
但在Chrome中,我看到:
<script type="text/javascript" charset="UTF-8" defer> //<![CDATA[ .... content of my JS file //]]> </script>
为什么?是谁,怎么做到的?它破坏了我加载脚本的顺序。 问题是延迟仅使用src属性。当源代码在内部时,则不接受defer,我调用了一些未定义的函数。
经过一些实验,我发现托管服务器上安装了Pagespeed模块,这导致了这种变化。
我修复了将其放入htaccess的问题:
<IfModule pagespeed_module> ModPagespeedDisableFilters inline_javascript </IfModule>