フルスクリーンのスタンドアロン Web アプリのリンクが Safari で開かないようにするスクリプトを以下に示します。これはうまく機能しますが、iframe でライトボックスを開くカラーボックス スクリプトがあります。
現在、ライトボックスの iframe ではなく、フルスクリーンで iframe スクリプトを開いています。
私の質問は、スクリプトを変更して、class="iframe" 以外のすべてのリンクで機能するようにするにはどうすればよいですか? そのため、クラス iframe を持つものは正常に機能します。
(function(document,navigator,standalone) {
// prevents links from apps from oppening in mobile safari
// this javascript must be the first script in your <head>
if ((standalone in navigator) && navigator[standalone]) {
var curnode, location=document.location, stop=/^(a|html)$/i;
document.addEventListener('click', function(e) {
curnode=e.target;
while (!(stop).test(curnode.nodeName)) {
curnode=curnode.parentNode;
}
// Condidions to do this only on links to your own app
// if you want all links, use if('href' in curnode) instead.
if('href' in curnode && ( curnode.href.indexOf('http') || ~curnode.href.indexOf(location.host) ) ) {
e.preventDefault();
location.href = curnode.href;
}
},false);
}
})(document,window.navigator,'standalone');
どうもありがとう!