使用Firefox SDK自动执行Wi-Fi授权

时间:2015-04-08 08:05:06

标签: firefox wifi firefox-addon-sdk javascript

我正在尝试使用Firefox附加SDK和API创建一个Firefox插件,在开始使用之前我对它们的可能性有一些疑问。

我的学院的Wi-Fi授权每30分钟到期一次,只是为了让学生们惹恼他们。许多浏览器上已经有一些自动填充插件可用,但它仍然要求将鼠标指针移动到“登录”按钮上,并在剩下一秒钟的时候点击它进入中期论文。我已经听过几个月来我的朋友们这样抱怨我自己认为事情实际上有时令人讨厌,所以我决定开发一个负责这项工作的Firefox插件,这样一旦插件出现,授权过程就会感觉不到活性。 (我只想真诚地给我的朋友留下深刻的印象。)

为了方便起见,我想在Firefox附加SDK中开发插件。我发现我的插件会使用page-modpasswordrequest API; page-mod检测Wi-Fi服务自动重定向到其授权页面password,以便通过存储在各个Firefox浏览器中的学生ID和密码request来填写页面表单重定向“登录成功!”页面到最初给定的目的地。

所以我想应该可以通过这个SDK和API实现我的目标,但在我继续之前还有一些问题需要我提出:

  • 是否可以将回调函数传递给page-mod::PageMod(不是作为字符串或其他JavaScript文件的URL)?如果没有,可以使用较低级别的API吗?

  • 是否可以仅使用高级API将选项卡中的页面重定向到另一个页面?

  • 是否可以记住原始目的地的位置(使用请求方法和内容)并在page-mod::PageMod的过程中调用它(为了重新定向到授权页面之外)?如果没有,可以使用较低级别的API吗?

  • 是否可以在非活动(背景)标签页上执行插件重定向功能,其中打开的网页会自动连接到互联网并重定向到授权页面?

非常感谢你阅读,请为我节省一点时间。再次感谢你!

1 个答案:

答案 0 :(得分:2)

  

是否可以将回调函数传递给page-mod :: PageMod(不是作为String或其他JavaScript文件的URL)?如果没有,可以使用较低级别的API吗?

不,使用JSON序列化(See docs)序列化通过端口的所有内容。相反,您可能会从内容脚本中发出一个事件,以使用您在模块范围内传递的参数执行回调方法,并使用端口事件侦听器在内容脚本中对需要完成的部分进行硬编码。

  

是否可以仅使用高级API将选项卡中的页面重定向到另一个页面?

总而言之,如果您使用的是内容脚本,则可以设置window.location,或者在模块中设置标签的位置,请参阅https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs#url

  

是否可以记住原始目的地的位置(使用请求方法和内容)并在page-mod :: PageMod的过程中调用它(为了重新导出授权页面)?如果没有,可以使用较低级别的API吗?

可能?是的,很大程度上取决于W-LAN重定向的工作原理。通常,所有SDK都会为您提供选项卡的加载/就绪事件以及读取选项卡的当前URL。因此,如果您在重定向点获得准备好的事件,那么您就可以了。如果您的大学登录使用URL中的get参数记住重定向目标,那么您就可以了。如果你的大学没有调整网址,那你很好。如果你真的需要深入了解这个请求,你必须比SDK提供的更深入,但它是可能的。

  

是否可以在非活动(背景)选项卡上执行插件的重定向功能,其中打开的网页会自动连接到Internet并重定向到授权页面?

附加组件的JS执行没有根据选项卡状态暂停。