我正在开发一个chrome扩展程序,它会在加载后立即在特定网页中注入iframe。 iframe加载了一个托管在localhost上的表单(form.php)。表单上输入的所有信息都由本地主机上的script.js
处理。
PHP文件有:
<script src="script.js" type="text/javascript"></script>
php文件上有一个提交按钮。单击它时,我想将消息和一些数据传递到扩展的后台页面,如:
chrome.extension.sendRequest({'name':'email', value:email});
但我收到错误说:
未捕获的TypeError:无法调用未定义的方法'sendRequest'
我想要的是,点击提交按钮后,处理的所有数据都会发送到Chrome扩展程序背景页。
请建议我能帮助我做到这一点的任何方法吗?
答案 0 :(得分:0)
如果我理解正确,您需要从iframe向Chrome扩展程序背景页面发送消息。
执行此操作的一种方法是在网页中注入内容脚本并让其侦听消息
window.addEventListener('message',....)
在Iframe上,当数据准备就绪时,您可以调用
parent.postMessage
将消息发送到父级的内容脚本。内容脚本可以使用
将消息转发到bgchrome.extension.sendRequest
另一种方法是通过设置
将内容脚本注入Iframe本身all_frames:true
在扩展清单中。