如何强制Magento中的addJs运行异步

时间:2014-03-12 21:30:56

标签: javascript magento magento-1.7

我想知道是否有一个简单的方法,一个参数?也许,对于标准的Magento addJs:

<action method="addJs"><script>prototype/prototype.js</script></action>

使它像:

<action method="addJs"><script>prototype/prototype.js</script><param>async</param></action>

我询问的原因是我试图异步加载所有的js文件。它们由我的主题的page.xml文件调用。像这样的快速变化很容易实现。

我目前的输出是:

<script type="text/javascript" src="http://mydomain.com/js/prototype/prototype.js"></script>

我想输出这个:

<script type="text/javascript" src="http://mydomain.com/js/prototype/prototype.js" async></script>

或者这个:

<script type="text/javascript" src="http://mydomain.com/js/prototype/prototype.js" async="async"></script> 

2 个答案:

答案 0 :(得分:3)

我遇到了一些异步问题,因为我的一些javascript需要在页面加载后立即加载,我在local.xml中尝试了这个<action method="addItem"><type>skin_js</type><name>js/jquery.filterexpandcollapse.js</name><params>async</params></action>并且它可以工作。

如果所有脚本都可以在异步模式下运行,我们也可以在Mage / Page / Block / HTML文件夹中更改head.php。

希望这有助于某人

答案 1 :(得分:0)

如果你刚试过它,你就已经知道它有效了。你的代码有效。

查看Mage_Page_Block_Html_Head,您将看到方法及其参数。