Javascript 指定允许的主机,防止在Safari中打开独立应用程序中的链接
人们在寻找代码,防止独立应用程序中的链接在iPhone和iPad上的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) {
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中打开了指向其他子域的链接。我需要上面的代码在我们所有的子域上工作,而不仅仅是应用程序运行的子域。