javascript - 独立网络应用程序链接脚本 - 阻止它附加具有特定类的链接?

标签 javascript jquery iphone web-applications

此脚本会阻止链接在 Mobile Safari 中打开。这适用于 Web 应用程序在 iOS 上处于应用程序模式时(主屏幕书签)。

gist.github.com/1042026

if(("standalone" in window.navigator) && window.navigator.standalone){

    // If you want to prevent remote links in standalone web apps opening Mobile Safari, change 'remotes' to true
    var noddy, remotes = false;

    document.addEventListener('click', function(event) {

        noddy = event.target;

        // Bubble up until we hit link or top HTML element. Warning: BODY element is not compulsory so better to stop on HTML
        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);
}

我的问题是如何让上面的脚本忽略与类的链接?

例如,我有 a.lightbox - 此链接将打开,并使用 www.photoswipe.com 在灯箱中显示图像。 jquery 插件。

但是当我使用该脚本时,它会终止灯箱启动,而只是自行打开图像。但如果我使用上面的脚本,照片滑动灯箱就可以正常工作。

有没有人得到一些建议或帮助修改此脚本以忽略这些链接a.lightbox

谢谢 乔什

最佳答案

如果您使用 jQuery,您应该能够将 && !$(noddy).hasClass('lightbox') 添加到您的 if 测试中。

关于javascript - 独立网络应用程序链接脚本 - 阻止它附加具有特定类的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16116050/

相关文章:

javascript - 你有关于如何优化我的 javascript 数组遍历的建议吗?

html - Jquery用html5数据属性隐藏和显示

jquery - 向图像的 onmouseout 属性添加额外的功能

iphone - EXC_BAD_ACCESS 在 -init 方法中直接设置 ivars(不使用访问器)时,为什么?

javascript - 开发时跨域AJAX调用 : possible?

Javascript:根据格式解析数组字符串

javascript - 正则表达式:排除单词,但包括非标准标点

php - jQuery 自定义模板无法正常工作

iphone - 如何向表格 View 添加导航栏?

ios - 我可以检查现在是否显示任何 UIAlertView 吗?