我有我显示在ModalWindow几个小组。在这些面板的html文件中,我在主体中有脚本标签,例如用于SyntaxHighlighter或JW Player。如果我将面板嵌入到自己的页面中,那些标签就可以工作。但是,当面板嵌入到ModalWindow中时,它们不工作。Javascript语言,HTML时,面板是一个Wicket内使用不工作ModalWindow
实施例为一个面板(HTML文件),其显示这是应该由SyntaxHighlighter的待处理的文本(这是在身体标记):
<wicket:panel>
<pre wicket:id="content"></pre>
<script type="text/javascript">
SyntaxHighlighter.all();
</script>
</wicket:panel>
我已经尝试过许多不同的事情,例如
super.show(target);
target.appendJavaScript("SyntaxHighlighter.all();")
重写的“show()” - ModalWindow的方法。我也玩过'renderOnDomReadyJavascript','renderOnLoadJavascript'等,但我想它必须嵌入到身体标签中,无论如何...我无法让它工作。
它的工作,如果我嵌入面板进入一个网页,并把该页面添加到ModalWindow而非面板的,但我想避免这种情况,因为它是没有必要的,在滚动问题的结果。感谢任何提示!
编辑:快速入门-例子说明这个问题:Download
嗨安德烈(再次;-)),所需要的JavaScript和CSS引用通过重写renderHead(...)来确定。我在Panel本身以及我添加到Panel中的行为中尝试了这一点。当我在浏览器中查看源代码时,所有必需的JS和CSS文件都在HEAD标签中。它不工作,只是当我把面板放入自己的页面,但不在ModalWindow这就是为什么我很困惑。 – Blacklight 2012-08-07 16:16:57
你的浏览器中没有任何JavaScript错误吗?你是否在使用某种类似FireBug的工具来检测这些沉默错误? 我非常肯定你的JavaScript被执行,我的意思是如果你用简单的警报('')替换面板内的代码,它应该被执行,对吧? – 2012-08-07 17:55:47
你是对的,一个警告('测试')的作品。所以身体上的脚本实际上已经被执行了。但是,即使我将JS引用附加到标题,SyntaxHighlighter也不能工作/识别。就像我所说的,我甚至试图用'response.renderJavaScriptReference(“/ media/js/shCore.js”)等东西来覆盖ModalWindow的renderHead(...)方法等。它不工作,但我确实找到在父页面的头部需要引用。我不知道了:( – Blacklight 2012-08-07 19:46:20