Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.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 指定允许的主机,防止在Safari中打开独立应用程序中的链接_Javascript_Ios_Mobile Safari - Fatal编程技术网

Javascript 指定允许的主机,防止在Safari中打开独立应用程序中的链接

Javascript 指定允许的主机,防止在Safari中打开独立应用程序中的链接,javascript,ios,mobile-safari,Javascript,Ios,Mobile Safari,人们在寻找代码,防止独立应用程序中的链接在iPhone和iPad上的Safari中打开时,会遇到很多问题。但是,我已经有了这方面的工作代码: if(("standalone" in window.navigator) && window.navigator.standalone){ var noddy, remotes = false; document.addEventListener('click', function(event) {

人们在寻找代码,防止独立应用程序中的链接在iPhone和iPad上的Safari中打开时,会遇到很多问题。但是,我已经有了这方面的工作代码:

if(("standalone" in window.navigator) && window.navigator.standalone){
    var noddy, remotes = false;
        document.addEventListener('click', function(event) {
            noddy = event.target;
                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);
}
这段代码防止在Safari中打开同一主机名上的链接,它们根据需要以全屏独立模式打开。外部链接,以及带有空白目标的链接,仍然在Safari中按预期打开

然而,如果一个链接指向我们站点上的另一个子域,那么这些链接仍然在Safari中打开。我正试图找到一种方法,为这段代码提供一个“白名单”,这样这些主机名就可以在独立应用程序模式下打开,而不是触发Safari


我不太了解此代码,不知道在何处进行更改以获得我要查找的结果。

提示:请看一看问题。我已经有代码在应用程序中保留链接,但Safari中打开了指向其他子域的链接。我需要上面的代码在我们所有的子域上工作,而不仅仅是应用程序运行的子域。