Firefox插件SDK和跨域



我想使用Firefox扩展访问youtube上的评论部分。由于评论部分在iframe中,并且位于其他网站(加上.googleapis.com)上,我需要启用跨域功能。

我通过在package.json:中包含跨域内容来做到这一点

{
  "name": "testfirefoxextension",
  "title": "testFirefoxExtension",
  "id": "id removed",
  "description": "nike z youtubu v zvezi",
  "author": "kv1dr",
  "license": "MPL 2.0",
  "version": "0.1",
  "permissions": {
    "cross-domain-content": ["http://www.youtube.com", "https://plus.googleapis.com/"]
  }
}

为了以防万一,在lib/main.js中,我添加了youtube.com和googleapis.com以包含部分。这是lib/main.js:的全部内容

// Import the page-mod API
var pageMod = require("sdk/page-mod");
// Import the self API
var self = require("sdk/self");
// Create a page mod
// It will run a script whenever a "youtube.com" URL is loaded
// The script replaces the page contents with a message
pageMod.PageMod({
  include: ["*.youtube.com","*.googleapis.com"],
  contentScriptFile: [self.data.url("jquery-2.1.1.min.js"), self.data.url("youtube.js")]
});

在youtube.js中,我有alert($("#comments-test-iframe").html());只是为了测试跨域脚本是否工作,但当加载注释时,脚本显示空消息,但当装载注释时,该脚本显示[未定义],而不是注释部分的内容。为什么?如何获取iframe内容?

youtube.js代码出现问题。我不知道为什么,但我无法访问#comments测试框架元素,所以我尝试了另一个div,它在iframe中,它成功了。

相关内容

  • 没有找到相关文章

最新更新