首页 > 解决方案 > 将文本从 iframe 拖放到主窗口不会删除文本

问题描述

我想将文本从 iframe 拖放到 OSX 上的输入,但它不起作用。

<input />
<iframe
   src="https://react-hooks.org/"
   title="inline browser"
></iframe>
<span>adasdasas</span>

在此处输入图像描述

标签: htmlmacosiframe

解决方案


显然这是一个 CORS 问题,请参阅以下代码:

<input />
<iframe
   src="https://react-hooks.org/"
   title="inline browser"
></iframe>
<iframe id="myframe"></iframe>

<script>
var ifrm = document.getElementById('myframe');
ifrm = ifrm.contentWindow || ifrm.contentDocument.document || ifrm.contentDocument;
ifrm.document.open();
ifrm.document.write('Hello World!');
ifrm.document.close();
</script>
<span>adasdasas</span>

https://jsfiddle.net/4Lqjvc6p/

在我的测试中,从 拖放#myframe到 中时我没有遇到任何困难input,因为它使用相同的来源,而从您的 中执行相同的操作iframe,具有不同的来源被证明是不可能的。您可以让您的服务器充当代理来解决该问题,即向服务器端的目标请求并将内容输出为iframe. 这应该可以,但是您将难以处理原始的 js、css 和 img 内容。


推荐阅读