Github user klopfdreh commented on a diff in the pull request: https://github.com/apache/wicket/pull/253#discussion_r159219467 --- Diff: wicket-core/src/main/java/org/apache/wicket/markup/head/OnLoadHeaderItem.java --- @@ -86,8 +86,8 @@ public void render(Response response) CharSequence js = getJavaScript(); if (Strings.isEmpty(js) == false) { - JavaScriptUtils.writeJavaScript(response, "Wicket.Event.add(window, \"load\", " + - "function(event) { " + js + ";});"); + JavaScriptUtils.writeJavaScript(response, + "var f = function() {" + js + ";};\nif ('loaded' === document.readyState) f(); else window.addEventListener('load', f);"); --- End diff -- Is loaded the correct state for sure? https://developer.mozilla.org/de/docs/Web/API/Document/readyState here "complete" is mentioned. I also remember that there were some other pitfalls with the readyState for some browsers. This german site mentions that "loaded" is only available in IE. https://wiki.selfhtml.org/wiki/JavaScript/DOM/Document/readyState
---