0

天才の皆さん、こんにちは!

プロキシの背後からWebサイトを使用しているときに、モーダルウィンドウのコンテンツに問題が発生したことはありますか?残念ながら、プロキシ構成の詳細を提供することはできません。(外国企業の代理人です。)

これはSquidプロキシであり、Wicketのajaxデバッグウィンドウまたはサーバーログに明示的なエラーはありません。プロキシ管理者はまた、ログに何もブロックされていないと言います。Wicketは実際には、モーダルウィンドウのコンテンツに表示される空のdivを返します。

<div id="contentd" style="display:none"></div>

これは、私と改札の間にプロキシがない場合に返されるものです。

<div id="content10">
  <form>
      <table align="center" cellspacing="5px" width="100%">
          <tr>
              <td colspan="2" align="center">
                  <span><p>Möchten Sie den Monitor wirklich löschen?</p></span>
              </td>
          </tr>
          <tr>
              <td align="center">
                  <input type="button" value="Ok" class="button" id="confirm15" onclick="var wcall=wicketAjaxGet('?wicket:interface=:1:uniModal:content:confirm::IBehaviorListener:0:-1',function() { }.bind(this),function() { }.bind(this), function() {return Wicket.$('confirm15') != null;}.bind(this));return !wcall;">
              </td>
              <td align="center">
                  <input type="button" value="Abbrechen" class="button" id="confirmNot16" onclick="var wcall=wicketAjaxGet('?wicket:interface=:1:uniModal:content:confirmNot::IBehaviorListener:0:-1',function() { }.bind(this),function() { }.bind(this), function() {return Wicket.$('confirmNot16') != null;}.bind(this));return !wcall;">
              </td>
          </tr>
      </table>
  </form>
</div>

(私の作品ではなく、このひどく汚いhtmlコードを探してください。^^)

私の推測では、プロキシは改札口に到着するはずのパラメータをキャプチャしますが、決して到達しません。org.apache.wicketのDEBUGをオンにしましたが、役立つと思われるものが見つかりません。誰かがインスタントソリューションを知っているか、これをさらに調査する方法について何かアイデアがありますか?DEBUGロギングで何も表示されなかった後、私はほとんどアイデアを使い果たしました。

多分誰かが改札ログから何かを読むことができます:

前もって感謝します!

4

1 に答える 1

0

詳細がわかったので、実際の解決策は非常に簡単でした。Wicket は、モーダル ウィンドウを処理するときに 2 つのカスタム ヘッダーを使用します。

  • 改札-ajax
  • 改札に焦点を当てたelementid

これらのヘッダーがないと、wicket は正しいモーダル フレーム オブジェクトなどを識別できないようです。同社のプロキシ サーバーは、ホワイトリストに登録されていないすべてのヘッダーをブロックしました。すべての上のヘッダーを許可するようにプロキシサーバーを微調整した後、魅力のように機能しました。

于 2013-02-11T23:27:55.563 に答える