我创建了一个简单的Web应用程序,其功能是打开pdfs,同时单击按钮。
为了能够在iPad上观看,我已将我的网络应用程序包装到UIWebView,但不幸的是,如果我将“打开PDF”绑定到' touchend'事件,我无法打开PDF文件,但如果我将打开PDF绑定到点击事件 - 它运作良好。
但是,当我在iframe中打开我的web应用程序时,这个CSS规则会以某种方式影响window.open行为:
-webkit-user-select: none;
如果允许用户选择,则在选择按钮上的文本后打开pdf。
因此,我的网络应用程序示例如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<button style="width: 100%; height: 110px;">Open PDF (ontouchend)</button>
<button style="width: 100%; height: 110px;">Open PDF (onclick)</button>
<script>
function openPdf() {
window.open("./sample.pdf", "_blank");
}
var el1 = document.getElementsByTagName("button")[0];
var el2 = document.getElementsByTagName("button")[1];
el1.addEventListener("touchend", openPdf, false); // cannot open pdf, window.open returns 'undefined'
el2.addEventListener("click", openPdf, false); // works as expected
</script>
</body>
</html>