【问题标题】:Load and parse URL via JS in the background后台通过JS加载解析URL
【发布时间】:2014-06-23 17:02:50
【问题描述】:

目前我正在尝试开发一个小的 Firefox 扩展。

详细信息:我想向来自 dota2lounge.com 网站的用户显示他们在 Steam 社区市场上的 Steam 物品的当前奖励。我的想法是通过一个 Firefox 扩展来做到这一点,该扩展从 dota2lounge.com 上的 HTML 代码中读取项目名称。通过 JS,我想在 Steam 社区市场搜索项目名称并解析当前奖品。无需用户采取任何进一步行动,也无需打开额外的选项卡/窗口,就会发生这种情况。

在 java 中,我只是将站点加载到一个变量中并使用它。我怎么能用 JS(或 Jquery)做到这一点?或者也许在 firefox 的 addon-sdk 中有更好的方法可以解决这个问题。

欢迎任何想法和提示。

【问题讨论】:

  • 我很确定跨站点预防不允许从 JavaScript 访问外部域。只需尝试使用 XMLHttpRequest 加载 URL 并亲自查看。
  • 我会查看 csgolounge.com 的源代码,看看他们是如何做到的。还发现了这个库(我希望有一天能玩一下)github.com/eknowles/node-steam-tradeoffers
  • @ChristopherMarshall 你不能在扩展中使用 nodejs 代码。
  • 在 Firefox 扩展程序中,您可以执行跨站点请求,仅供参考:developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/request
  • 我很确定你也可以使用browserify运行nodejs代码。

标签: javascript html firefox-addon firefox-addon-sdk steam


【解决方案1】:

使用附加 SDK 应该非常简单。以下是您应该查看的模块列表:

  1. 请求模块将允许您向其他站点发出请求:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/request

  2. 1234563这比使用正则表达式要好得多。代码看起来像这样:

https://gist.github.com/canuckistani/6c299c812bbe582d9efb

【讨论】:

  • 我猜这里的第二个方法套件最好。让我看看我是否理解正确:在我的附加脚本中,我可以从当前站点收集特定数据。现在我可以使用收集的数据调用内容脚本,在这种情况下是我的工作人员。工作人员将向 Steam 社区市场发出请求,收集所需信息并通过 Port Modul 向我的附加脚本发送消息。这是正确的吗?
  • 我想是的,是的。将 worker 想象成一个不可见的浏览器,你可以加载、注入脚本并从中收集信息。
  • 谢谢。我将尝试通过页面工作者和 Firefox 开发指南上的其他内容来阅读我的方式,因为我对这个环境完全陌生。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-09
  • 2014-04-03
  • 2021-02-16
  • 2013-02-02
  • 2015-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多