Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在其他选项卡中打开外部链接?_Javascript_Wordpress - Fatal编程技术网

Javascript 如何在其他选项卡中打开外部链接?

Javascript 如何在其他选项卡中打开外部链接?,javascript,wordpress,Javascript,Wordpress,我使用以下代码在web应用程序中打开所有内容: <script type="text/javascript"> var a=document.getElementsByTagName("a"); for(var i=0;i<a.length;i++) { a[i].onclick=function() { window.location=this.getAttribute("href"); return false } } va

我使用以下代码在web应用程序中打开所有内容:

<script type="text/javascript">
var a=document.getElementsByTagName("a");
for(var i=0;i<a.length;i++)
{
   a[i].onclick=function()
   {
       window.location=this.getAttribute("href");
       return false
   }
}

var a=document.getElementsByTagName(“a”);
对于(var i=0;i如果您在链接上设置“target”属性,它们将在新选项卡中打开:

<script>
var origin=window.location.origin;
var a=document.getElementsByTagName("a");
for(var i=0;i<a.length;i++)
{
   var link = a[i];
   if(link.href && link.href.indexOf(origin)!=0)
    link.setAttribute("target", "_blank");
}
</script>

变量原点=window.location.origin;
var a=document.getElementsByTagName(“a”);

对于(var i=0;i我设法从中找到了答案。 我只是把它放在我的标题中:

<script>
// Mobile Safari in standalone mode
if(("standalone" in window.navigator) && window.navigator.standalone){

    // If you want to prevent remote links in standalone web apps opening Mobile Safari, change 'remotes' to true
    var noddy, remotes = false;

    document.addEventListener('click', function(event) {

        noddy = event.target;

        // Bubble up until we hit link or top HTML element. Warning: BODY element is not compulsory so better to stop on HTML
        while(noddy.nodeName !== "A" && noddy.nodeName !== "HTML") {
            noddy = noddy.parentNode;
        }

        if('href' in noddy && noddy.href.indexOf('http') !== -1 && (noddy.href.indexOf(document.location.host) !== -1 || remotes))
        {
            event.preventDefault();
            document.location.href = noddy.href;
        }

    },false);
}
</script>

//独立模式下的Mobile Safari
if((“standalone”在window.navigator中)和&window.navigator.standalone){
//如果要阻止独立web应用程序中的远程链接打开Mobile Safari,请将“remotes”更改为true
变量noddy,remotes=false;
document.addEventListener('click',函数(事件){
noddy=event.target;
//气泡上升,直到我们点击链接或顶部HTML元素。警告:BODY元素不是必需的,所以最好停止在HTML上
while(noddy.nodeName!=“A”&&noddy.nodeName!=“HTML”){
noddy=noddy.parentNode;
}
if('href'在noddy&&noddy.href.indexOf('http')!=-1&&noddy.href.indexOf(document.location.host)!=-1 | | remotes))
{
event.preventDefault();
document.location.href=noddy.href;
}
},假);
}

所有正常链接都在web应用程序中打开,但在移动和桌面上,带有
target=“\u blank”的链接
在新选项卡中打开。

对不起,我是javascript新手,我如何将其添加到现有代码中。您可以使用主题编辑器通过管理员将其添加到页脚中。如果您的主题有放置自定义跟踪代码的位置,您可以将其添加到那里。它不起作用。我的问题是,即使是带有target属性的链接也不会在新选项卡中打开。另一个g各种解决方案的ood帖子:Apache是不相关的。它都是标记/客户端。您没有提到这是一个只有mobile safari的问题。