[
https://issues.apache.org/jira/browse/TAP5-1538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13043026#comment-13043026
]
Hudson commented on TAP5-1538:
------------------------------
Integrated in tapestry-trunk-freestyle #358 (See
[https://builds.apache.org/hudson/job/tapestry-trunk-freestyle/358/])
TAP5-1538: Optimize client-side URL rebuilding in IE 7
hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130674
Files :
*
/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/tapestry.js
> Optimize client-side URL rebuilding in IE 7
> -------------------------------------------
>
> 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
> Fix For: 5.3.0
>
> 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