Javascript 为什么谷歌Chrome处理触摸和点击的方式不同?

Javascript 为什么谷歌Chrome处理触摸和点击的方式不同?,javascript,php,google-chrome,printing,Javascript,Php,Google Chrome,Printing,我正在开发一个内部使用的应用程序,它要求用户能够打印到指定的打印机,而无需在打印对话框中选择它。为了做到这一点,我正在使用它,它的工作方式很好,我有它的配置,直到我使用的触摸屏上的铬。我也使用过Firefox,它运行良好,但我需要我的用户出于其他原因使用chrome 它的工作方式是,我正在构建的应用程序有一个按钮可以打印。当用户单击该按钮时,会触发一些javascript,最终执行: $scope.jsWebClientPrint = function (sid, type) {

我正在开发一个内部使用的应用程序,它要求用户能够打印到指定的打印机,而无需在打印对话框中选择它。为了做到这一点,我正在使用它,它的工作方式很好,我有它的配置,直到我使用的触摸屏上的铬。我也使用过Firefox,它运行良好,但我需要我的用户出于其他原因使用chrome

它的工作方式是,我正在构建的应用程序有一个按钮可以打印。当用户单击该按钮时,会触发一些javascript,最终执行:

$scope.jsWebClientPrint = function (sid, type) {
        var e_id = 'id_' + new Date().getTime();
        if (window.chrome) {
            console.log('hiay');
            $('body').append('<a id="' + e_id + '"></a>');
            $('#' + e_id).attr('href', 'webclientprint:http://192.168.2.69/hideout/scripts/receipt/print.php?clientPrint&sid=' + sid + '&type=' + type);
            document.getElementById(e_id).click();
        } else {
            $('body').append('<iframe name="' + e_id + '" id="' + e_id + '" width="1" height="1" style="visibility:hidden;position:absolute" />');
            $('#' + e_id).attr('src', 'webclientprint:http://192.168.2.69/hideout/scripts/receipt/print.php?clientPrint&sid=' + sid + '&type=' + type)
        }
    };
$scope.jsWebClientPrint=函数(sid,类型){
var e_id='id_'+新日期().getTime();
if(window.chrome){
console.log('hiay');
$('body')。追加('');
$('#'+e_id).attr('href','webclientprint:http://192.168.2.69/hideout/scripts/receipt/print.php?clientPrint&sid=“+sid+”&类型=”+类型);
document.getElementById(e_id).单击();
}否则{
$('body')。追加('');
$('#'+e_id).attr('src','webclientprint:http://192.168.2.69/hideout/scripts/receipt/print.php?clientPrint&sid=“+sid+”&类型=”+类型)
}
};
令人疯狂的是,在控制台中,我可以看到正在调用print.php,一切似乎都很好,但它不会调用WebClientPrint程序来打印任何内容。当使用鼠标时,它工作正常-当使用触摸时,如果我点击打印按钮太快,它就会失败(例如,如果我想要两张收据,它会打两个电话,但当使用触摸时,它只打印一次)