【发布时间】:2013-06-07 06:27:14
【问题描述】:
我的 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 注入)我调用:
$.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 中监听。
【问题讨论】:
标签: iframe fancybox firefox-addon firefox-addon-sdk content-script