人们在寻找代码以保持独立应用中的链接不会在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中打开的同一主机名上的链接,它们按照需要以全屏独立模式打开。外部链接和带有_blank目标的链接仍然可以在Safari中打开。
但是,如果链接指向我们网站上的其他子域,则这些链接仍会在Safari中打开。我正试图找到一种方法为这段代码提供“白名单”,以便这些主机名在独立应用模式下打开,而不是触发Safari。
我不太了解这段代码,知道在哪里进行更改以获得我想要的结果。