0

我有以下脚本可以防止全屏独立网络应用程序中的链接在 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');

非常感谢!

4

1 回答 1

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') ) {
于 2013-11-05T15:07:00.950 回答