我目前正在尝试为Google Chrome编写扩展程序,可用于上传文件。
有两个页面:背景页面和弹出页面。
单击全向条右侧的图标时,将显示弹出页面。您可以使用标准HTML指定要上载的文件 <input type='file' ... />
。
选择文件并单击“上传”后,文件的名称(+路径)应发送到后台页面。这是因为用户可以通过点击屏幕上的其他位置关闭页面来关闭弹出窗口。
当弹出窗口处于活动状态,后台页面将文件上传到服务器时,弹出窗口也应该从后台页面接收上传(0-100%)的进度,并显示该信息。完成后,用户应该看到URL。
问题是,我不知道如何在这两个页面之间进行通信。文档不清楚这是如何工作的。我试过的一件事就是在后台页面上创建一个函数,叫做 upload(filename)
,并将此代码放在弹出页面中:
var BGPage = chrome.extension.getBackgroundPage();
BGPage.upload(the_filename);
但它没有用,功能没有被调用。
有谁知道如何将文件名从弹出页面发送到后台页面,以及如何通过弹出页面从后台页面检索上传状态(最终是链接)?
提前致谢!