Details
-
New Feature
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
7.9.0, 8.0.0-M8
-
None
-
None
Description
I wonder if wicket cant even get better in the js part. Currently each page having ajax somehow ends up with following in the head:
(1)<script type="text/javascript" src="./wicket/resource/org.apache.wicket.resource.JQueryResourceReference/jquery/jquery-2.2.4-ver-F9EE266EF993962AD59E804AD9DEBE66.js"></script>
(2)<script type="text/javascript" src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-event-jquery-ver-E34C6FE16C54FE3DF3591290A48A496A.js"></script>
(3)<script type="text/javascript" src="./wicket/resource/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/res/js/wicket-ajax-jquery-ver-F8010FEDC5FD9B05434A6023763E3050.js"></script>
(4 - inline var and not really an issue)<script type="text/javascript" id="wicket-ajax-base-url">
/<![CDATA[/
Wicket.Ajax.baseUrl="/pagepath";
/]]>/
</script>
(5)<script type="text/javascript" >
/<![CDATA[/
Wicket.Event.add(window, "domready", function(event) {
wicketDebugBarCheckState();
Wicket.Ajax.ajax(
);;
Wicket.Ajax.ajax(
);;
jQuery.noConflict();;
Wicket.Event.publish(Wicket.Event.Topic.AJAX_HANDLERS_BOUND);
;});
/]]>/
</script>
While 1,2 and 3 could be easily made at least defer, script 5 makes this impossible so far, having all 4 scripts lead to a slower DOMContentLoaded (requestet and executed 1 by 1), even these are not needed at that time and could IMHO be easily postponed to a time when the rendering tree is ready (and so dont block it);
The real culprint IMHO is (5) and that it immediately needs the Wicket.Event object - so, I see 2 solutions for this:
1st: outline this code into a request specific js-src file that can be loaded like e.g.: <script defer src="/requesrt specific fake path">
or
2nd: have it embedded into an
window.addEventListener('DOMContentLoaded', function() {
(function($) {
$(document).ready(function()
);
})(jQuery);
});
of even slim it down to:
window.addEventListener('DOMContentLoaded', function() {
(function($)
);
});
While 1 has the need to get 1 more request (even thats async thanks to defer), 2 seems to be clear of this and I cant think of any problem with that;
What do you think?
Attachments
Attachments
Issue Links
- links to
- mentioned in
-
Page Loading...