Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTML <script> async Attribute in Magento

I would like to try to insert the "async" attribute in Prototype JavaScript script tag in Magento 1.9.1:

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

I would have this result:

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

Where I have to insert "async"? What is the file with this line code? Thanks

like image 908
dabbia Avatar asked Feb 22 '15 12:02

dabbia


1 Answers

Look at the file app/design/frontend/<yourlayout>/<yourtheme>/layout/page.xml (or copy app/design/frontend/base/default/layout/page.xml into your theme).

Inside this file, search for the following lines:

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

And change addJs calls by:

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

As your are using the merging javascript feature of magento, you need to apply this change to every addJs definition, because Magento will group files by params.

like image 99
GiDo Avatar answered Oct 11 '22 04:10

GiDo