1

モーダルウィンドウに表示しているパネルがいくつかあります。これらのパネルのhtmlファイルでは、SyntaxHighlighterやJWPlayerなどのスクリプトタグが本文にあります。これらのタグは、パネルを独自のページに埋め込んだ場合に機能します。ただし、パネルがモーダルウィンドウに埋め込まれている場合は機能しません。

SyntaxHighlighterによって処理されることになっているテキストを表示するパネル(htmlファイル)の例(これはbodyタグにあります):

<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'なども試してみましたが、とにかくbody-tagに埋め込む必要があると思います...動作させることができません。

パネルをページに埋め込み、そのページをパネルではなくモーダルウィンドウに配置すると機能しますが、これは不要であり、スクロールの問題が発生するため、回避したいと思います。ヒントをありがとう!

編集:クイックスタート-問題を示す例:ダウンロード

4

2 に答える 2

0

この問題の解決策は、この他の回答に示されています。all() の代わりに、highlight() メソッドを使用する必要があります。

于 2012-08-09T16:08:52.007 に答える
0

問題は、パネルを操作するときに、使用する JavaScript 関数が適切に宣言されていないことだと思います。つまり、オブジェクト SyntaxHighlighter は、ModalWindow に直接埋め込まれている場合、例では定義されていません。パネルのページをチェックして、ツアー パネルで使用される JavaScript ライブラリが定義されているかどうかを確認します。

于 2012-08-07T14:46:28.493 に答える