Javascript 如何阻止用户在两个不同的选项卡/窗口中打开相同的信息?
从我的应用程序中,我需要阻止用户在两个不同的选项卡/窗口中打开相同的链接(链接是动态的,而不是静态的),因为链接生成的id是基于我不允许用户在不同的选项卡中打开相同的id信息 我怎样才能预防它 如果使用window.open()为窗口命名,则不会打开多个窗口/选项卡 例如:Javascript 如何阻止用户在两个不同的选项卡/窗口中打开相同的信息?,javascript,jquery,Javascript,Jquery,从我的应用程序中,我需要阻止用户在两个不同的选项卡/窗口中打开相同的链接(链接是动态的,而不是静态的),因为链接生成的id是基于我不允许用户在不同的选项卡中打开相同的id信息 我怎样才能预防它 如果使用window.open()为窗口命名,则不会打开多个窗口/选项卡 例如: window.open("http://www.google.com", "myWindow"); 如果您有一个id来区分不同的窗口,代码可能如下所示: window.open("url_for_id", "window"
window.open("http://www.google.com", "myWindow");
如果您有一个id来区分不同的窗口,代码可能如下所示:
window.open("url_for_id", "window" + id);
我认为你做不到。 但你可以这样做 每次用户查看页面时生成一个令牌,并将其存储到会话以及页面中
您可以阻止用户从这两个选项卡提交数据我认为最接近您的是:
- 仅向已登录的用户提供信息
- 为每个页面生成随机令牌(并跟踪哪些令牌与哪些页面关联)
- 使用Ajax每n秒ping一次服务器,在请求中传递令牌
- 如果服务器响应“在n次3秒内从同一用户处收到同一页面的不同令牌”或未收到响应,则
document.body.innerHTML='
Web浏览器的设计目的不是为了限制其用户对其获取的信息所能做的事您可以使用本地存储来标记在加载活动中打开的页面,并在加载检查中重置卸载中的标志。如果设置了标志,则限制其他允许。我可以问一下您为什么这样做吗?从技术上讲,您不能,至少不是有效的。例如,如果您通过按钮打开窗口,它不适用(请参阅)。当然,用户可以在多个选项卡/窗口中复制/粘贴URL,但是普通用户可能不需要它来创建新选项卡,而新的parant窗口不需要它来创建子窗口。你知道吗?