0

我正在开发一个 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});

但我收到一条错误消息:

未捕获的类型错误:无法调用未定义的方法“sendRequest”

我想要的是,一旦单击提交按钮,所有处理的数据都会发送到 chrome 扩展后台页面。

请建议我任何可以帮助我做到这一点的方法?

4

1 回答 1

0

如果我理解正确,您想从 iframe 向 chrome 扩展背景页面发送消息。

一种方法是在网页中注入内容脚本并让它监听消息

window.addEventListener('消息', ....)

在 iframe 上,当数据准备好时,您可以调用

parent.postMessage

向父级中的内容脚本发送消息。内容脚本可以将消息转发到 bg 使用

chrome.extension.sendRequest

另一种方法是通过设置将内容脚本注入 iframe 本身

all_frames: 真

在扩展清单中。

于 2012-07-28T07:44:38.820 回答