将文本复制到 iframe - JS
Posted
技术标签:
【中文标题】将文本复制到 iframe - JS【英文标题】:Copy text into iframe - JS 【发布时间】:2019-01-15 13:52:54 【问题描述】:我有一段时间无法解决这个障碍,尽管这感觉是一件相对简单的事情。
我正在尝试使用页面上的一串文本预先填写表单字段。但是表单是在一个 iframe 中,这使得它变得困难。
这里是page in question,但是您不会从链接中获得太多信息,因为您的动态内容将是空的。此屏幕截图可能会更好地解释:http://prntscr.com/kbqoak
它会从“webinartitle”类中获取文本并插入表单域(http://prntscr.com/kbqqp4)。
我的同事帮助我编写了所需的 javascript:
$(function()
$('iframe').contents().find('.refer_webinar input').val($('.webinartitle').text());
);
按照指示,我已将其放在 iframe 之外,但不幸的是,该值仍未到达那里。这是解释情况的 2 个屏幕截图:prntscr.com/kbtp4u / prntscr.com/kbtper
有什么想法我在这里做错了吗?为什么它不起作用?
提前感谢您提供的任何建议!
【问题讨论】:
【参考方案1】:不幸的是,文档不可能与自身内部的沙盒文档进行通信,也就是 iframe 的内容。
您不能将 jQuery 应用于其他域 iframe。由于安全原因,它已被阻止。
查看这个以获得更多解释。
https://en.wikipedia.org/wiki/Same-origin_policy
【讨论】:
哎哟。太糟糕了。但至少解释为什么它不起作用。谢谢你的解释。您知道我可以使用其他任何解决方案来完成这项工作吗? 当然可以,不好意思直言。基本上,与来自另一个域、子域、端口等的 iframe 的内容进行通信的唯一方法是通过 postMessage API,这当然需要 iframe 内的文档来监听您的消息。这是另一篇有用的 wiki 文章 en.wikipedia.org/wiki/Web_Messaging以上是关于将文本复制到 iframe - JS的主要内容,如果未能解决你的问题,请参考以下文章