Magento中的HTML <script>异步属性</script>

时间:2015-02-22 12:59:43

标签: javascript asynchronous prototype magento-1.9.1

我想尝试在Magento 1.9.1中的Prototype JavaScript script标记中插入“async”属性:

<script type="text/javascript" src="http://www.mywebsite.com/media/js/ec1651c8b1a4ea49a916679f1e120ccf.js"></script>

我会得到这个结果:

<script type="text/javascript" src="http://www.mywebsite.com/media/js/ec1651c8b1a4ea49a916679f1e120ccf.js" async></script>

我必须插入“异步”吗?这个行代码的文件是什么? 感谢

2 个答案:

答案 0 :(得分:15)

查看文件app/design/frontend/<yourlayout>/<yourtheme>/layout/page.xml(或将app/design/frontend/base/default/layout/page.xml复制到您的主题中)。

在此文件中,搜索以下行:

<!-- ... -->
<block type="page/html_head" name="head" as="head">
    <action method="addJs"><script>prototype/prototype.js</script></action>
    <!-- ... -->
</block>
<!-- ... -->

通过以下方式更改addJs来电:

<!-- ... -->
<block type="page/html_head" name="head" as="head">
    <action method="addJs"><script>prototype/prototype.js</script><params>async</params></action>
    <!-- ... -->
</block>
<!-- ... -->

由于您正在使用magento的合并javascript功能,因此您需要将此更改应用于每个addJs定义,因为Magento会按params对文件进行分组。

答案 1 :(得分:0)

你犯了一个小错误。 这实际上是上述问题的正确答案。

&#13;
&#13;
<!-- ... -->
<block type="page/html_head" name="head" as="head">
    <action method="addJs"><script>prototype/prototype.js</script><params>async="async"</params></action>
    <!-- ... -->
</block>
<!-- ... -->
&#13;
&#13;
&#13;