点击链接后打开两个站点

时间:2016-05-12 01:16:05

标签: jquery click window.open

我想请求您帮助我编码。我正在尝试在我的网站上使用Java脚本,但它并没有完全符合我的需要。

让我解释一下,下面的代码如何工作。当您使用代码打开网站时,除非您单击网站上的任何链接,否则不会发生任何事情。打开该链接页面后,在新TAB打开后,以及另一个网站http://your_adress.com打开。因此,在这个阶段,您打开了两个TAB,一个是您想要的(链接站点),另一个是您不知道的(新TAB)。

每次都会发生这种情况,您点击网站上的任何链接。

我在这里的问题是:我需要在我的代码中实现什么,以确保来自代码的网站your_adress.com每个会话只打开一次,而不是每次用户点击某篇文章时。这对用户来说非常烦人。

我的2问:我需要在代码中添加什么,所以新网站your_adress.com将仅在后台,而不是主页。我希望用户在阅读父页面上的文章之后检查网站your_adress.com,而不是之前。为了更好的解释:用户将留在他打开的页面,但第二个选项卡或窗口将打开,恕不另行通知。我希望用户注意后(如FB粉丝页面)。

以下是简单的代码:

<script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script language="javascript">
$(document).click(function() {
window.open(
"http://your_adress.thank_you",
"_blank"
);
});
</script>

3 个答案:

答案 0 :(得分:0)

关于你的第一个问题..你需要阅读有关cookies的信息..你可以在这里找到它

http://www.w3schools.com/js/js_cookies.asp

以及此示例您可以在此处找到它

http://www.w3schools.com/js/tryit.asp?filename=tryjs_cookie_username

第二个问题..有更多方法可以使用

第一名: setTimeout();通过这种方式,新网址将在5秒后打开

setTimeout(function(){
   // open new window code here
} , 5000);
通过这种方式

第二次 .offset().top;当用户滚动到达文章末尾时,新窗口将会打开

var Top_DIV_Next_Article = $("#DIV_next_article ").offset().top;
$(window).scroll(function() {
    if($(window).scrollTop() > Top_DIV_Next_Article ) { //scrolled past the Top_DIV_Next_Article 
       // open new window code here // you need to use boolean in this case here to prevent the code open another new windows while scrolling
    }
});

答案 1 :(得分:0)

非常感谢您的快速回答。我忘了告诉你,我希望这些页面能够自然地打开,而不是在一段时间之后。我想打开它们作为原生点击。我的第一个Q没有很好地解释。为此。现在代码就像打开每个页面一样工作,每次我们点击某些内容并且每次打开新窗口。我不想使用弹出窗口弹出窗口。它需要是用户本机点击。

示例:您将进入http://www.letstravel.cz页面,点击链接(或任何地方)后,您将被重定向到同一页面以链接您点击。另外,将使用FB粉丝页面打开新选项卡。同样的,没有超时。这里的问题是,在重定向之后,当你点击任何esle时,你将会打开另一个FB粉丝页面。因此,想象一下打开10篇文章,将打开10个额外的FB粉丝页面。我想打开10篇文章,一次性FB页面。每个会话(每个浏览器关闭。)

我是否需要以某种方式使用数据库?如果不是更好。或者我可以使用这样的东西?我是任何编码的真正初学者。

收集访问者的IP地址并计算时间。     如果($ sql_ip_time + 3600

我不确定方法是否合适。

第二:我会再试一次。我们有两个标签,我们将与之合作。第一个标签是文章/article.html。第二个标签尚未打开。我将点击链接到article_2.html的TAB1,然后用FB粉丝页面打开TAB2。您在浏览器中看到的是TAB2作为主要内容。你看到的是FB页面,而不是TAB1。我想要做的是点击链接上的TAB1 for article2并阅读这篇文章。届时,新的TAB2将在没有通知的情况下开放。关闭所有选项卡后,用户会注意到某个FB粉丝页面已打开。

我非常感谢这里的帮助。没有这个论坛,我迷失了。非常感谢

答案 2 :(得分:0)

我的朋友已经创建了这段代码,但我不确定它有什么问题。我也想设置会话cookie,但我不知道在哪里实现这个:

document.cookie = "mtracker=somevalue; expires=0; path=/";

这是代码本身,它应该在点击页面上的任何位置后打开新选项卡(不是弹出窗口),但是每24小时只打开一次这个Facebook页面。我需要24小时更改会话,而且我不确定代码可能有什么问题。到目前为止,有人可以放弃我的进展吗?感谢

 <script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>

 <script language="javascript">
var urlForPopup = "http://www.facebook.com";

if(!wasPopupAlreadyDisplayed())
{
       var myWindow = window.open(urlForPopup, "_blank");
       setCookie("WasPopupDisplayed", "true", 1);      //expires in one day
}

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + ", " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(',');
    for(var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

function wasPopupAlreadyDisplayed() {
    var wasDisplayed = getCookie("WasPopupDisplayed");
    if (wasDisplayed != "") {
       return true;
    } else {
       return false;
    }
}
</script>