jQuery preventDefault和Safari

时间:2014-11-24 21:07:41

标签: javascript jquery safari

我有以下代码,它适用于所有浏览器,但不适用于移动设备上的Safari和旧版本的桌面版Safari。任何想法都将不胜感激。

    var segment = jQuery(location).attr('href').split("/")[3];                      
segment = segment.toLowerCase().replace(/\b[a-z]/g, function(letter) {
    return letter.toUpperCase();                                                
});
var type = "Download";                                                          

jQuery('a').each(function() {                                                   
    if(
        (jQuery(this).attr('href').substr(-3) == 'pdf') || 
        (jQuery(this).attr('href').substr(-3) == 'doc') || 
        (jQuery(this).attr('href').substr(-3) == 'docx') || 
        (jQuery(this).attr('href').substr(-3) == 'ppt') || 
        (jQuery(this).attr('href').substr(-3) == 'pptx') || 
        (jQuery(this).attr('href').substr(-3) == 'xls') || 
        (jQuery(this).attr('href').substr(-3) == 'xlsx')
    ){                                                                          
        var filename = jQuery(this).attr('href').substr(jQuery(this).attr('href').lastIndexOf('/')+1)       
        var href = jQuery(this).attr("href");                               
        var target = jQuery(this).attr("target");                           
        jQuery(this).click(function(event)
        {                                                       
            event.preventDefault();
            _gaq.push(["_trackEvent", segment, type, filename, , false]);
            setTimeout(function() {                             
                window.open(href,(!target?"_blank":target));
            },200); 
        });
    }
});

0 个答案:

没有答案