Pdf 使用userscript在浏览器内部强制打开blob url内联

Pdf 使用userscript在浏览器内部强制打开blob url内联,pdf,blob,userscripts,content-disposition,Pdf,Blob,Userscripts,Content Disposition,我是来自政府和医疗保健的web应用程序的用户。他们强迫用户下载PDF。我更喜欢先在浏览器中查看它们,以便决定是否保存它们 因此,我安装了名为“SimpleModifyHeader”的附加组件,并添加了以下配置 多年来,它一直工作得非常出色,直到突然有一个web应用程序违抗了这种覆盖 我打开devtools并检测到使用了blob。因为没有HTTP响应,所以加载项没有效果 我对应用程序进行了单步操作,并意识到他们正在从受OAuth保护的后端下载PDF,并将内容编码为blob。我没能达到打开水滴的程

我是来自政府和医疗保健的web应用程序的用户。他们强迫用户下载PDF。我更喜欢先在浏览器中查看它们,以便决定是否保存它们

因此,我安装了名为“SimpleModifyHeader”的附加组件,并添加了以下配置

多年来,它一直工作得非常出色,直到突然有一个web应用程序违抗了这种覆盖

我打开devtools并检测到使用了blob。因为没有HTTP响应,所以加载项没有效果

我对应用程序进行了单步操作,并意识到他们正在从受OAuth保护的后端下载PDF,并将内容编码为blob。我没能达到打开水滴的程度。它隐藏在许多复杂的间接关系后面。看起来像是反应或角度与一些Redux和我没有来源,当然,它的缩小和丑陋


如何编写一个用户脚本来捕获blob的打开并将其强制嵌入浏览器?

我尝试了以下用户脚本:

功能手柄点击(ev){
让downloadAnchors=document.querySelectorAll(“[download]”)
对于(让下载锚定){
anchor.removeAttribute(“下载”)
anchor.target=“\u blank”
console.info(“此处禁用强制下载:”,锚定)
}
}
(功能(){
让捕获=真
addEventListener(“单击”,handleClick,{capture})
console.info(“下次单击时禁用强制下载”)
})();
它在强制下载演示页面上运行良好:

但不是在医疗保健web应用程序上。可能这个web应用程序没有使用download属性强制下载,或者存在一些Redux魔术,使得没有在click处理程序中创建
元素

不过,我认为这个用户脚本仍然很好,所以我将其作为一个答案发布

也许我以后会发现一些事情