http://productforums.google.com/d/msg/chrome/h0nzjkvxTZU/nciM-x97fEAJ
我设法摆脱它:-)
简介
首先测试在控制台中打开 PDF。
我也尝试了超时,但它没有帮助,但它确实第一次给了我一个消息(这个站点正在尝试下载多个文件。你想允许这个吗?)。
setTimeout( function(){ /* export */ }, 0 );
解决方案
对我有用的是直接将其附加到点击事件。
document.getElementById("expButton").addEventListener( "click", function() { /* exp.. */ } );
我想纯 javascript 导出与实际事件的工作方式不同,也许你可以先正确启动一个事件。我目前不尝试。
附言我没有检查(设置/下载)“在下载前询问每个文件的保存位置”,但无论哪种方式都可以。
仅仅因为这可能会有所帮助:
我使用了 ReportViewer,它具有导出功能。如果我点击它,它工作正常,但是当我点击我的自定义 DIV 时我想导出:
Sys.Application._components.ReportViewerRoot.exportReport(format)
我尝试通过控制台调用它,但视觉上没有任何反应,除非您打开下载页面 (Ctrl-J):
然后我尝试了前面提到的超时,但又出现了不希望的行为:
然后我尝试将其附加到实际点击中,这实际上导致了以下两种不同的情况,我无法解释或将进一步调查。
document.getElementById("myDIV").addEventListener(
"click",
function() {
Sys.Application._components.ReportViewerRoot.exportReport("PDF");
}
);
很奇怪
希望
我想知道你是否真的可以用事件来模拟这个。
我尝试过制作简单的 JS 事件,但没有成功。