繁体   English   中英

在同一新标签页中打开外部链接

[英]Opening external links in the same new tab

如何在同一浏览器窗口的同一新选项卡中打开外部链接?

(即,第一次单击外部链接会触发一个新选项卡,但是随后对外部链接的单击会在同一选项卡中打开,而不会在浏览器窗口中创建其他选项卡)

示例:在以下链接之间查看LegWorkStudio如何在其投资组合中做到这一点

  1. http://www.legworkstudio.com/interactive/laika-the-boxtrolls
  2. http://www.legworkstudio.com/interactive/kentucky-fried-chicken
  3. http://www.legworkstudio.com/interactive/newton-run-better
  4. http://www.legworkstudio.com/interactive/coke-ahh-effect

HTML:

<div id="target" />
<div id="source"><p>bla bla bla</p></div>

通过普通javascript进行内容替换:

document.getElementById("target").innerHTML = document.getElementById("source").innerHTML;

通过jQuery替换内容:

$("#target").html($("#source").html());

您可以通过将onclick方法添加到链接并将其包装在函数(普通JS)中,或通过jQuery的其他方法(单击on)将代码绑定到链接。

JS示例:

<a id="copytext" href="#" onclick='copyText();return false'>Copy text</a>
<script>
    function copyText() {
        document.getElementById("target").innerHTML = document.getElementById("source").innerHTML;
    }
</script>

jQuery示例:

<script>
$(function() {
    $("#copyref").click(function(e) {
        e.preventDefault();
        $("#target").html($("#source").html());
    });
})
</script>

看来他们只是更改window.location变量onclick然后操作一些JS代码以显示右侧部分。

在加载时,他们一定会读取window.location最后一个参数并显示右侧部分。

你可以做这样的事情:

var myButton = document.getElementById("sectionXXXButton");
myButton.onclick = function(){
    var a = window.location.split("/");
    a[a.length-1] = "XXX";
    window.location = a.join("/");
    // Some code to undisplay / display appropriate sections
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM