使用 javascript 从指向不同域的 iframe 中获取选定的文本

Posted

技术标签:

【中文标题】使用 javascript 从指向不同域的 iframe 中获取选定的文本【英文标题】:using javascript to get selected text from an iframe pointing to a different domain 【发布时间】:2014-10-27 19:41:23 【问题描述】:

我有一个 iframe 设置,允许用户浏览到不同的网站,旁边设置了一个简单的表单,以便用户能够在表单中输入信息。

这是为了让用户可以快速参考 iframe 并将信息输入到表单中,而无需在单独的窗口中打开站点,也不必调整两个窗口的大小以便同时查看这两个窗口时间(这是一个特定的用户请求)。

现在用户要求通过消除“突出显示文本 > ctrl+c > 在表单中选择正确字段(例如电话号码)> ctrl + v 的需要,简化了从表单输入信息的过程',所以我正在研究是否可以只突出显示要复制的文本,然后使用按钮或简单的按键事件自动更新表单中的字段。

我尝试过使用:

window.frames["myframe"].getSelection().toString();

但这会导致一个错误,告诉我我无权访问“getSelection”属性,我认为这是因为我正在尝试访问不同域上的页面信息以进行挖掘。

是否有任何其他方法可以仅捕获所选文本以粘贴到我的表单元素中,还是用户必须手动处理不断复制和粘贴?

【问题讨论】:

【参考方案1】:

不能对任何具有其他来源的 iframe 执行任何 JS 操作。这是任何网络浏览器的基本安全策略。这将是一个巨大的安全漏洞。

【讨论】:

谢谢,我只是在检查是否有任何其他方法可以做到这一点,类似于手动复制和粘贴,但如果没有,那就不用担心。

以上是关于使用 javascript 从指向不同域的 iframe 中获取选定的文本的主要内容,如果未能解决你的问题,请参考以下文章

如何为指向两个不同域的一个 Laravel 应用程序设置不同的语言环境?

javascript函数及作用域的小结

托管在不同域上的 JavaScript 可以读取/修改另一个域的 DOM 吗?

PHP解决ajax跨域的问题

深入浅出JavaScript之this

关于不同域的 CNAME 的问题[关闭]