我通过社区研究这个话题,虽然我找不到答案。我正在使用Bronto的直接添加功能(试图使用它),文档并不是那么好。
总之,href链接在电子邮件列表中订阅用户。唯一的问题是此链接会打开一个新页面。当我希望用户留在同一页面上时。我虽然在点击链接时进行重定向,但我不确定这是否有效。
我试过这个:
//Html
<a id="subscription" href="http://example.com">Subscribe</a>
// Jquery
$("#emailsubscribe").click(function(e){
e.preventDefault();//this will prevent the link trying to navigate to another page
//do the update
var href = "http://example.com";
//when update has finished, navigate to the other page
window.location = "href";
});
目标是我尝试将其设置为用户点击链接的位置,将其订阅到电子邮件列表,但会立即将其重定向回来,而无需打开另一个窗口。
答案 0 :(得分:0)
您正在寻找AJAX。这允许您在不实际导航到页面的情况下发出请求。因为你正在使用jQuery
$("#emailSubscribe").click(function (e) {
e.preventDefault();
$.get("http://www.myurl.com", function (data) {
//All done!
});
});
答案 1 :(得分:0)
您有3个选项:
$('#emailsubscribe').on('click', function () {
$.get('/email-subscribe/' + USER_ID, function () {
// redirect goes here
window.location = 'REDIRECT_URL';
});
});
使用iframe,当iframe加载后关闭iframe(丑陋,hacky,不推荐)
让订阅页面重定向用户。 Aka做了“你已经订阅了。在5秒内重定向......”的常见消息。您需要将重定向链接传递给订阅页面,即
window.location ='/ subscribe / USER_ID?redirect_to = / my-redirect-page'
答案 2 :(得分:0)
您需要引用var,而不是键入另一个字符串来重定向。
//Html
<a id="subscription" href="http://example.com">Subscribe</a>
// Jquery
$("#emailsubscribe").click(function(e){
e.preventDefault();//this will prevent the link trying to navigate to another page
//do the update
var href = "http://example.com";
//when update has finished, navigate to the other page
window.location = href; //<<<< change this.
});