使用 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 应用程序设置不同的语言环境?