问题
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
回答1:
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
.
回答2:
You make a small mistake. This is actually the right answer for the question above.
<!-- ... -->
<block type="page/html_head" name="head" as="head">
<action method="addJs"><script>prototype/prototype.js</script><params>async="async"</params></action>
<!-- ... -->
</block>
<!-- ... -->
来源:https://stackoverflow.com/questions/28658063/html-script-async-attribute-in-magento