【发布时间】:2012-02-01 23:06:16
【问题描述】:
在我的 JSP 应用程序中,我有一个打开新窗口的 javascript 函数。 reportURL 是对生成 pdf 文件的 asp 应用程序的调用。所以,如果你调用那个asp页面,它就会产生pdf数据。
我拥有的javascript是:
function openReport(id)
{
window.open('<%=reportUrl%>&id='+id,
'_blank',
'width=900 height=900 scrollbars=yes status=yes'
);
}
现在我的应用程序运行良好,当点击报告链接时,它会打开一个新窗口,我可以查看我的 pdf。但是,当我关闭 pdf 报告窗口并再次单击链接以生成报告时,它会打开一个新窗口(没有 pdf)。这个新窗口看起来不像一个空白窗口,因为背景不是白色,而是看起来像浏览器的 pdf 插件识别它是 pdf,因为我可以看到灰色背景但我无法查看文档。
谁能告诉我问题出在哪里?
【问题讨论】:
-
听起来可能是浏览器特有的问题,你测试过不同的浏览器吗?结果一样吗?
-
不,我正在处理仅在 IE 上运行的旧版 JSP 代码,所以很遗憾我无法在其他浏览器上进行测试。有解决方法吗?
-
在我看来,当 URL 打开时,您可能会即时生成报告?如果这是真的,它的后端代码是什么样的?它是否可能/只能生成一次报告,而后续加载不会生成完整的新报告?您可以使用 fiddler (fiddler2.com) 检查是否打开/请求了正确的 URL。
-
通过复制/粘贴网址在其他浏览器中进行测试。首先检查复制/粘贴到 IE 中是否会在您的问题中出现相同的问题,然后查看在其他浏览器中是否相同。 PDF 可能会导致一些奇怪的问题,我对 IE 的信任甚至不如 Adobe 的 PDF 插件。
-
我检查过了。无论我打开多少次和打开多少个窗口,在 IE 中复制粘贴 URL 都有效。问题只是当我尝试通过 window.open() 命令打开它时。@PriorityMark,是的,我正在尝试即时生成报告。后端代码从 JSP 应用程序中获取一些参数并生成 PDF。如果我通过复制粘贴 URL 来尝试这个,它工作正常,所以问题必须与 IE 中的 window.open ..
标签: javascript asp.net html jsp pdf