在新窗口或标签中打开AJAX链接

时间:2018-08-11 14:17:49

标签: javascript jquery href preventdefault

我有一个页面,其中包含将新内容加载到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,但更好的解决方案是更好的!)

1 个答案:

答案 0 :(得分: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>