我想在某些条件下将用户发送到“登陆”页面,例如
if (condition) {
window.location = "http://mywebsite.com/landingpage"
}
但我还想记住用户导航到的原始目的地,以便我可以在着陆页上放置一个重定向链接,将用户移动到原始目的地。
我知道如何用PHP做到这一点,但我完全需要JS / jQuery。我可以使用cookies,如果这让事情变得更容易。
我在想,也许是这样的:
// Condition when user moves to the page
if (condition) {
// Set cookie with value of current page
$.cookie('locational_cookie', window.location, { expires: 1});
// Redirect
window.location = "http://mywebsite.com/landingpage";
}
// When on the landing page, change the href of the "back" link to the original URL that is in the cookie.
$(".landingpage a.back").attr("href", $.cookie('locational_cookie'));
答案 0 :(得分:4)
您可以在使用document.referrer
var referrer = document.referrer;
window.location = referrer;
此链接将重定向到初始页面。
答案 1 :(得分:1)
试试这个:
var pathname = window.location.pathname;
window.location = "http://mywebsite.com/landingpage?url="+pathname;
答案 2 :(得分:0)
在PHP中:
header('Location: http://mywebsite.com/landingpage?redirect_uri=' .
urlencode($_SERVER['REQUEST_URI']));
exit();
编辑: 哎呀,你想要JavaScript。谢谢@ user2648239!快一点读一下。其他人已经用JavaScript回答了。
答案 3 :(得分:0)
我会将它发送到查询字符串上,并且还会将其编码为安全的一面。
if(condition) {
var loc=encodeURIComponent(document.location.href);
window.location = "http://mywebsite.com/landingpage?loc=" + loc;
}
答案 4 :(得分:0)
以下是我如何解决它。它的作用是:如果有人阻止广告,请重定向到一个页面,解释为什么广告对您的网站很重要,然后允许用户导航回原始目的地。由于已经设置了cookie,页面只会显示一次。
// When on the landing page, change the href of the "back" link to the original URL that is in the cookie.
if ($("body").hasClass("page-id-7876")) { // Class of the landing page
// Set link
$("a.cookie-link").attr("href", $.cookie('locational_cookie'));
// Remove locational cookie
$.removeCookie('locational_cookie', {path: '/'});
$.cookie('ads_checked', 'true', { expires: 365, path: '/' });
}
if($("#secondary ins.adsbygoogle").is(':empty') || $("#secondary ins.adsbygoogle").height() === 0 || !$("#secondary ins.adsbygoogle").is(":visible")) {
$("#secondary ins.adsbygoogle").html('New HTML');
if ($.cookie('locational_cookie') == null && $.cookie('ads_checked') == null) {
// Set cookie with value of current page
$.cookie('locational_cookie', window.location, { expires: 7, path: '/' });
// Redirect
window.location = "http://www.mysite.com/pagetoredirectto";
}
}