[
https://issues.apache.org/jira/browse/TAP5-1538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Howard M. Lewis Ship reassigned TAP5-1538:
------------------------------------------
Assignee: Howard M. Lewis Ship
> Improve js execution time in internet explorer 7: rebuildURL
> ------------------------------------------------------------
>
> Key: TAP5-1538
> URL: https://issues.apache.org/jira/browse/TAP5-1538
> Project: Tapestry 5
> Issue Type: Improvement
> Components: tapestry-core
> Affects Versions: 5.3, 5.2.5
> Reporter: Pedro Ayala
> Assignee: Howard M. Lewis Ship
> Labels: javascript,, performance
> Attachments: tapestry-buildurl-improvement.txt
>
>
> While loading the tapestry javascript, we execute the "contains" function for
> every script and css files in the page. The function tries to find if we
> already have one asset in the list of script.
> Firefox and Chrome already contains the complete URL, but IE needs to call
> rebuildURL to get it. This results in calling the function hundred of times
> so any little optimization of it saves some javascript loading time.
> The most expensive operation is the one for retrieving the window.location
> url and adding it to the path parameter. In order to improve it, we can save
> the basic build url in a local variable and just add the path to it.
> ### Eclipse Workspace Patch 1.0
> #P tapestry-core
> Index: src/main/resources/org/apache/tapestry5/tapestry.js
> ===================================================================
> --- src/main/resources/org/apache/tapestry5/tapestry.js (revision
> 1129681)
> +++ src/main/resources/org/apache/tapestry5/tapestry.js (working copy)
> @@ -522,8 +522,12 @@
> return path;
> }
>
> - var l = window.location;
> - return l.protocol + "//" + l.host + path;
> + if (!Tapestry.buildUrl) {
> + var l = window.location;
> + Tapestry.buildUrl = l.protocol + "//" + l.host;
> + }
> +
> + return Tapestry.buildUrl + path;
> },
>
> stripToLastSlash : function(URL) {
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira