使用JavaScript将PDF流写入iFrame

时间:2012-10-10 01:45:06

标签: jquery ajax internet-explorer iframe

我正在使用$.post(url, function(data){ // I use data here });我从post获得的数据是PDF流(响应内容类型是application / pdf)。我有一个iframe,我必须在其中显示此PDF。目标浏览器是IE7& IE8。

一种解决方案是提交表单并将目标作为iFrame。但是,我无法验证它是否真的是PDF或自定义设计的未找到错误页面(讨论here)。

1 个答案:

答案 0 :(得分:0)

我做到了这一点。我做的是检查:

if (data.toLowerCase().substr(0, 4) == "%pdf")

如果评估结果为true,则应该有PDF,否则内容将是服务器在发生错误时发回的内容。

Streaming PDF via invocation of HTTPHandler using $.get into object element我试图做类似的事情。

第一步是进行Ajax调用 - 这将是您的$.post(url, function(data){ // I use data here }); - 然后按照我的建议检查结果。

如果PDF返回没有错误:$('#iframe_id')[0].src = 'url'。诀窍是,通过利用浏览器缓存,设置IFrame的源将显示缓存的PDF,而不是重新发送它的请求。

要使缓存工作正常,您需要确保用于请求PDF的url两次都相同。