1

我在 ModalWindow 中显示了几个面板。在这些面板的 html 文件中,我在正文中有脚本标签,例如 SyntaxHighlighter 或 JW Player。如果我将面板嵌入到它自己的页面中,这些标签就会起作用。但是,当面板嵌入到 ModalWindow 时,它们不起作用。

显示应该由 SyntaxHighlighter 处理的文本的面板(html 文件)示例(在 body-tag 中):

<wicket:panel>
  <pre wicket:id="content"></pre>
  <script type="text/javascript">
    SyntaxHighlighter.all();
  </script>
 </wicket:panel>

我已经尝试了很多不同的东西,例如

super.show(target);
target.appendJavaScript("SyntaxHighlighter.all();")

在 ModalWindow 的重写“show()”方法中。我也玩过“renderOnDomReadyJavascript”、“renderOnLoadJavascript”等,但我想它无论如何都必须嵌入到 body-tag 中......我就是无法让它工作。

如果我将面板嵌入页面并将该页面放入 ModalWindow 而不是面板,它会起作用,但我想避免这种情况,因为它没有必要并且会导致滚动问题。感谢您的任何提示!

编辑:显示问题的快速入门示例:下载

4

2 回答 2

0

我认为问题在于,当您使用面板时,您没有正确声明使用的 JavaScript 函数。换句话说,当您直接使用嵌入到 ModalWindow 时,您的示例中没有定义对象 SyntaxHighlighter。检查面板的页面,看看它是否定义了游览面板使用的一些 JavaScript 库。

于 2012-08-07T14:46:28.493 回答
0

这个问题的解决方案在这个其他答案中进行了说明。必须使用方法 highlight() 代替 all()。

于 2012-08-09T16:08:52.007 回答