0

嗨,你们这些天才!

从代理后面使用网站时,是否有人遇到过模态窗口内容的问题?遗憾的是,我无法提供有关代理配置的任何详细信息。(这是一家外国公司的代理。)

我可以告诉你,它是一个 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 日志没有显示任何内容之后,我几乎没有想法了。

也许有人可以从检票口日志中读出一些东西:

提前致谢!

4

1 回答 1

0

既然我知道了细节,实际的解决方案就很简单了。Wicket 在处理模态窗口时使用两个自定义标题:

  • wicket-ajax
  • 以检票口为中心的元素

如果没有这些标题,检票口似乎无法识别正确的模态框架对象或类似对象。该公司的代理服务器阻止了所有未列入白名单的标头。在调整代理服务器以允许上面的标题之后,一切都像一个魅力一样工作。

于 2013-02-11T23:27:55.563 回答