繁体   English   中英

如何允许使用 Javascript 在沙盒 iframe 中下载?

[英]How can I allow download in sandboxed iframe using Javascript?

<iframe sandbox="allow-forms allow-scripts allow-same-origin" src="HTML_HERE" id="iframe"></iframe>

这是沙盒 iframe,您不能修改它并添加“允许下载”或任何沙盒属性。 你需要 Javascript 来解决这个问题。

当我使用这些属性制作 iframe 时,我绝对能够下载文件(可能不适用于 SO,但如果您将代码复制到本地文件并尝试,看看会发生什么):

 <iframe sandbox="allow-forms allow-scripts allow-same-origin" id=f ></iframe> <textarea id=t> <a id=u></a> <button id="dao">Do it?.</button> <script> dao.onclick = () => { console.log("hi") u.href = URL,createObjectURL( new Blob([ "hello there? just testing.." ]) ) u.download = "hi.txt" u.click() } </script> </textarea> <script> f.src = URL,createObjectURL( new Blob([ t:value ], { type: "text/html" }) ) </script>

'allow-downloads' 是 iframe 中沙盒属性的新引入值。

sandbox="allow-downloads"

参考: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#browser_compatibility

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM