Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 独立web应用程序链接脚本-阻止它附加具有特定类的链接?_Javascript_Jquery_Iphone_Web Applications - Fatal编程技术网

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

Javascript 独立web应用程序链接脚本-阻止它附加具有特定类的链接?,javascript,jquery,iphone,web-applications,Javascript,Jquery,Iphone,Web Applications,此脚本阻止在Mobile Safari中打开链接。这适用于网络应用在iOS上处于应用模式(主屏幕书签)时 我的问题是,如何让上面的脚本忽略与类的链接 例如,我有一个a.lightbox——这个链接打开,并使用jquery插件在lightbox中成像 但是,当我使用脚本时,它会终止lightbox启动,并自行打开图像。但是如果我使用上面的脚本,photosweep lightbox可以正常工作 是否有人建议或帮助修改此脚本以忽略这些链接a.lightbox 谢谢 Josh如果您使用jQuery,

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

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

例如,我有一个
a.lightbox
——这个链接打开,并使用jquery插件在lightbox中成像

但是,当我使用脚本时,它会终止lightbox启动,并自行打开图像。但是如果我使用上面的脚本,photosweep lightbox可以正常工作

是否有人建议或帮助修改此脚本以忽略这些链接
a.lightbox

谢谢
Josh

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

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

真管用!我已将我的代码张贴在上面以供参考。谢谢你,亲爱的,真管用!我已将我的代码张贴在上面以供参考。谢谢你,伙计
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);
}