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