【问题标题】:jQuery UI Modal Dialog cause webpage has exired errorjQuery UI 模态对话框导致网页已过期错误
【发布时间】:2013-03-14 14:59:40
【问题描述】:

我仅在 IE9 中收到 "webpage had expired" 错误。我正在调用带有 2 个提交按钮(图像按钮)的模式对话框。当我点击它们时 我可以看到弹出窗口,然后我收到“网页已过期”消息。

我的功能:

moreSubscribersQuestions: function () {
        var dlg=  $("#dialogMoreClients").dialog({
            modal: true,
            //dialogClass: 'WsErrorMessage'
            dialogClass: 'addMoreClientPopUp',
            width: 500,
            height:400
        });
        $('.ui-helper-clearfix:after').removeClass();
        //$('div.FinishPurchasePopUpBTn').each(function () {
        //    this.addClass('FinishPurchasePopUpBTn');
        //});
        dlg.parent().appendTo(jQuery("form:first"));
    }

删除dlg.parent().appendTo(jQuery("form:first")); 后问题不再出现。有什么建议么?

【问题讨论】:

  • 您可以发布其余的 .aspx 代码吗?你想用 dlg.parent().appendTo(jQuery("form:first"));行吗?
  • with dlg.dlg.parent().appendTo(jQuery("form:first"));我可以将按钮用作 asp:imagebutton (event)。
  • 没有更多代码,很难判断发生了什么。

标签: jquery asp.net internet-explorer-9


【解决方案1】:

Fraser Sherman 的这篇帖子The Most Likely Cause of "Webpage Has Expired" 描述了您可能会在 IE 中看到该错误的一些原因。以下是我阅读的forum post 的一些额外想法。

在不确切知道自己在做什么的情况下,听起来您可能执行了 POST(可能使用 ASP.NET),然后尝试将用户重定向到浏览器历史记录中的页面。

解决问题的方法可能是...

  1. 寻找除window.history.go 或类似技术以外的其他方式来重定向用户(首选)
  2. 确保页面不可缓存(可能会影响性能)
  3. 将页面踢到兼容模式(最后的手段)

查看对话框中的代码会很有帮助。这可能会更深入地了解正在发生的事情。

【讨论】:

  • 弹出窗口出现后,在用户回答弹出窗口上的问题之前,什么都不会发生。并且按钮功能在同一页面后面的代码上......没有重定向到另一个页面。不同的想法是,该生产线是否会触发安全问题,因为此问题仅发生在生产级别
  • @Rob 这里我从后面的代码调用 js 你需要点击事件 2 吗? if (_lead.isAsked == false && _lead.Subscribers.Count
猜你喜欢
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
  • 2010-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
相关资源
最近更新 更多