-1

我目前正在使用这个 JavaScript 弹出确认重定向:

var answer = confirm("If you are joining us through site other than" +
  "website.net, .com or .info please hit OK otherwise hit cancel!");

if(answer)
    window.open('http://website.net', '_blank');
else
    alert("You need to know that it will not work for you well if you don't")

只有当用户不在目标页面上时,我才真正想要一种使用此弹出窗口的方法。

4

2 回答 2

1

目前还不清楚您想要实现什么,但您可以使用以下方法获取“推荐人”:

document.referrer

这将告诉您用户来自哪里。我基于你的报价:

如果您通过 aseanlegacy.net 以外的网站加入我们...

我完全不知道为什么这很重要,以及为什么您告诉用户该网站将无法正常运行。

如果要获取当前位置,只需使用:

document.location.href

返回完整的 URL,或者

document.location.hostname

它返回主机名。

于 2013-04-30T10:44:33.023 回答
1

我认为这就是你想要做的:

var domains = ["aseanlegacy.net", "aseanlegacy.com", "aseanlegacy.info"];

if(domains.indexOf(document.location.hostname) == -1)
    window.open("http://aseanlegacy.net", "_blank");

如果用户不在域中domains(用 测试document.location.hostname),window.open将被调用。

这是一个JSFiddle


根据您的请求,每个会话仅打开一次窗口,以下是修改为包含 cookie 的代码:

var domains = ["aseanlegacy.net", "aseanlegacy.com", "aseanlegacy.info"];

if(domains.indexOf(document.location.hostname) == -1 && document.cookie.indexOf("opened=1") == -1)
{
    document.cookie = "opened=1";
    window.open("http://aseanlegacy.net", "_blank");
}

这是更新的 JSFiddle

于 2013-04-30T10:44:43.293 回答