我的脚本会阻止全屏独立网络应用中的链接在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');
非常感谢!
答案 0 :(得分:0)
解决了,我找到了答案。 我不得不改变这个
if('href' in curnode && ( curnode.href.indexOf('http') || ~curnode.href.indexOf(location.host) ) ) {
到此。
if('href' in curnode && ( curnode.href.indexOf('http') || ~curnode.href.indexOf(location.host) )&& !$(curnode).hasClass('iframe') ) {