【问题标题】:Open AJAX link in new window or tab在新窗口或标签中打开 AJAX 链接
【发布时间】:2018-08-11 14:17:49
【问题描述】:

我有一个页面,其中包含将新内容加载到其中一个 div 中的链接。这工作正常,但如果用户右键单击并选择“在新选项卡中打开”,我还想为用户提供在新选项卡中打开这些链接的选项。

因此,javascript AJAX 将正常处理新内容的加载,但如果他们选择“在新选项卡中打开”,则主 HREF 可能会触发并将用户带到包含另一个内容的完整页面标签。比如:

<a href="example.com/fullPageWithContent.html" onclick="loadContentOnly(1);">Click me</a>

<script>
function loadContentOnly(n) {
event.preventDefault(); //Some condition here?

// AJAX load content for n...

};
</script>

如何最好地做到这一点? (我使用的是 jQuery,但一个普通的解决方案更好!)

【问题讨论】:

  • 这个问题不是上面标记的问题的重复。任何阅读两者的人都可以快速确定这一点。如何删除重复的通知?

标签: javascript jquery href preventdefault


【解决方案1】:

不清楚在新页面中显示的决定是否是全局的。

以下假设它是预先确定的

<a href="example.com/fullPageWithContent.html" onclick="return loadContent(1, this);">Click me</a>

<script>
function loadContent(n, el) {

  if(showInNewPage){
     el.target = '_blank';
     return true;
  } else{    
      // AJAX load content for n...

      return false;    
};
</script>

【讨论】:

  • “全球性”是什么意思?我编辑了这个问题以澄清它。问题是如果有人选择“在新窗口中打开标签”,如何实现 HREF 回退。
  • 将是基于您提到您计划为用户提供选项的变量。如果这不是您所期望的,则需要更详细地说明您希望它如何工作
猜你喜欢
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
相关资源
最近更新 更多