是否可以这样制作网页?如何? 我可以在javascript中使用onunload或onbeforeunload等事件,但不是每个浏览器都能处理它。
答案 0 :(得分:2)
这是不可能的。您无法更改用户可以从远程服务器打开的选项卡数量。
答案 1 :(得分:2)
人们可能不会喜欢这样,但可以选择使用localStorage
来存储打开多少个窗口。在您的信息页<head>
部分:
// Check localStorage item - if it exists, see if the count is 3 (or greater, I guess)
// -If so, redirect this page somewhere else (attempt to use window.close(), otherwise redirect this page to some other page)
// -If not, increment the counter
// If localStorage item doesn't exist - create it and set it to 1
// What I mean by "item" is that localStorage is basically key/value pairs, so check for your key you want to store this as
$(window).on("unload", function () {
// Decrement count in localStorage
});
我不确定&#34;卸载&#34;浏览器进程以意外方式终止时有效,但这可能是个问题。
答案 2 :(得分:1)
这是不可能的。您无法阻止网站以这种方式打开新的标签页。 或者用户应该允许您访问他的电脑以便记录标签..(但是谁会接受这个?)
答案 3 :(得分:1)
这有点粗糙,但可能会奏效。如果您可以识别用户(登录等),那么您可以使用基于JS的心跳信息从浏览器到服务器,每1-2秒使用用户名和每个打开页面的唯一标识符。因此,您可以根据为用户提供的唯一心跳数量,在服务器上知道,在用户打开的页面数量为多少,如果他尝试第4,您可以拒绝从服务器提供该页面。一旦心跳信号停止持续30秒或1分钟(超时),您可以考虑关闭一个标签。
这可以处理意外的浏览器关闭,并且不需要对客户端环境进行任何特殊访问。