javascript - 如何在请求之间保持 jQuery UI 对话框状态?

标签 javascript jquery asp.net-mvc jquery-ui jquery-ui-dialog

我有一个 ASP.NET MVC 网络应用程序。该应用程序可以使用“远程控制”进行管理,这是一个 jQuery UI dialog并且仅当具有足够权限的用户登录并单击“显示远程控制”按钮时才会出现。 (显然,对话框的 HTML 代码不存在。)

当用户单击站点上的链接时,此对话框将自行关闭。
我希望对话框“记住”它已打开并在这种情况下自动打开。

执行此操作的最简单且跨浏览器最兼容的方法是什么?
(现在假设我不想关心过时的浏览器,使用它的人会使用新的浏览器。)

这是初始化对话框的代码。

$(document).ready(function () {
    $("#remote-control").dialog({
        autoOpen: false,
        show: "explode",
        hide: "explode",
        title: "Távirányító",
        minWidth: 220,
        maxWidth: 260,
        width: 190,
        height: 300,
        maxHeight: 500,
        position: [50, 100]
    });

    $("#remote-control-opener").click(function () {
        $("#remote-control").dialog("open");
        return false;
    });
});

预先感谢您的回答!

最佳答案

有两种方法可以做到这一点。使用 cookie 或 URL 参数设置一个值,例如 isRemoteVisible,您可以在页面加载时检查该值。我将用来实现此目的的 jquery 库是:

使用 url 参数更可靠,因为您的用户可能已禁用 cookie。检测到 cookie/param 的值后,您可以通过编程方式触发 Remote 弹出。

编辑

您可以使用上述库设置 cookie,如下所示:

$.cookie('isRemoteVisible', 'true');

然后您可以按如下方式获取此 cookie 值:

var showRemote = $.cookie('isRemoteVisible');

最后,执行检查以打开对话框:

if ("true" == showRemote)
     $("#remote-control").dialog("open");

关于javascript - 如何在请求之间保持 jQuery UI 对话框状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7484176/

相关文章:

javascript - XSL 模板导致加载速度非常慢

javascript - 如何在模式关闭时刷新 ng-repeat?

javascript - Angular 翻译器不工作

javascript - Xrm.Utility.openEntityForm 设置查找字段

javascript - jquery 求和不起作用

javascript - 创建一个 jQuery 插件 : best practices regarding functions' visibility?

c# - 如何通过 renderpartial 将两个变量传递给控件?

html - 不同部分的颜色在 webgrid 中显示不正确

c# - 如何确定使用哪种身份验证方法?

javascript - 在 JavaScript 中反转 Date.toLocaleString 转换的 native 方法?