gpt4 book ai didi

内容脚本中的 IFrame。如何与main.js通信?

转载 作者:行者123 更新时间:2023-12-02 09:30:03 25 4
gpt4 key购买 nike

我的 Firefox 插件从内容脚本 (page-mod) 打开 Fancybox(类型:“iframe”)。在 Fancybox 中,我显示了位于我自己的服务器中的我自己的 HTML 页面 (my_fancybox_stuff.html)。

现在,我可以从 my_fancybox_stuff.js(my_fancybox_stuff.html 的 JavaScript)向插件的 main.js 发送消息吗??或者打开 Fancybox 的内容脚本?

我希望可以从 my_fancybox_stuff.js 访问全局“self”对象,因为它可以从打开 Fancybox 的内容脚本访问。

我有兴趣了解完成此任务的任何潜在解决方法。

在 Chrome 扩展中,这是微不足道的。在 my_fancybox_stuff.js 中,我可以调用 chrome.extension.sendMessage() 并且它可以工作。

提前致谢!

编辑:添加一些代码来澄清我的情况。简化了代码以节省人们阅读代码的时间。这就像 Hello World 一样简单。

从contents_scipt.js(用page-mod注入(inject))我调用:

$.fancybox.open(
{
// Some irrelevant Fancybox options hidden for clarity
href:"http://www.mysite.com/my_fancybox_stuff.html
type: 'iframe'
}
);

my_fancybox_stuff.html 看起来像这样:

<!doctype html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery.js"></script>
<script src="js/my_fancybox_stuff.js"></script>
</head>
<body>
<div id="my-wrapper">
<div id="my-form-div">
<form id="my-form" action="#">
<div>
<div><p>Name</p></div>
<div><input id="fullname" type="text" name="fullname" value=""></div>
</div>
<div>
<div><p><a id="my-button" href="#">Press this</a></p></div>
</div>
</form>
</div>
</div>
</body>

在 my_fancybox_stuff.js 中,当按下按钮(“my_button”)时,我想发送一条包含输入字段值(“fullname”)的消息,并在 content_script.js 中监听它。

最佳答案

是的,您的 my_fancybox_stuff.js 可以使用 postMessage () 与插件的内容脚本进行通信。

参见the documentation and examples at MDN .

关于内容脚本中的 IFrame。如何与main.js通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16977627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com