【问题标题】:Jquery open new page and redirect self pageJquery打开新页面并重定向自我页面
【发布时间】:2015-04-29 22:13:45
【问题描述】:

我有一个需求,如果用户点击一个链接,我希望当前页面重定向到 href 属性值,同时打开一个包含当前页面链接和添加参数的新窗口。

我拥有的 Jquery 脚本如下。

jQuery(document).ready(function() {
$( "#clickMeDiv" ).click(function(e) {
  e.preventDefault();
    refLink = jQuery(this).attr('href');
    location.href = refLink;
    window.open(window.location.protocol + "//" + window.location.host + '?param=1', "_blank", '', false);
}); 
});

带有链接的HTML如下:

<a id="clickMeDiv" href="http://www.google.com" target="_blank">
  Click Me    
</a> 

这在 Chrome、firefox、Safari(桌面)上运行良好,但在 IE 8 和 IE 11 中打开了一个额外的窗口。我无法在其他 IE 版本中进行测试。我的猜测是它在所有 IE 中的行为都相同。

你也可以查看http://jsfiddle.net/chirping/nmtkct26/1/上的JS

这在 iOS 上的 Chrome 上也有点奇怪,尽管 iOS 上的 Safari 可以正常工作。

感谢您的帮助?

【问题讨论】:

  • 这一行应该做什么? location.href = refLink;
  • 重定向到 refLink
  • @SonaliKapoor 你可以试试这个吗? jQuery(document).ready(function() { $( document ).on('click', '#clickMeDiv', function(e) { //e.preventDefault(); refLink = jQuery(this).attr(' url'); window.location.href = encodeURIComponent('www.yahoo.com'); window.open(window.location.protocol + "//" + window.location.host + '?param=1', " _blank", '', false); }); });还将 href='www.google.com' 替换为 href='#' 并添加另一个属性 url='www.google.com'。这只是一种解决方法。
  • @Sushil - 同样的问题,现在打开第一个窗口,当前 + #
  • 所以你的链接现在是 href='#' 和 url='www.google.com' 对吗?在 jquery 中,我选择的是 url 属性而不是 href。你错过了那部分吗??

标签: jquery onclick


【解决方案1】:

从您的 html 中删除 target="_blank"。

<a id="clickMeDiv" href="http://www.google.com" title="click me please">
Click Me    
</a>

【讨论】:

  • 试过了。但是 IE 仍然会打开两个新窗口,一个带有 href 中的 url,另一个带有参数。同时当前窗口也保持打开状态并重定向到href属性url
  • 可以来聊天吗?chat.stackoverflow.com/rooms/17/javascript。我可以分享我们遇到此问题的网址。
猜你喜欢
  • 2019-08-25
  • 2017-08-08
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
  • 2012-10-01
  • 2010-12-27
  • 2015-10-23
  • 1970-01-01
相关资源
最近更新 更多