0
我想访问使用Firefox扩展的youtube上的评论部分。由于评论部分位于iframe中,并且位于其他网站(plus.googleapis.com)上,因此我需要启用跨域功能。Firefox附加SDK和跨域
我这样做,通过在的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吗?难道是因为你错过了“http://www.youtube.com”'中的最后'/'。是否因为youtube在'https'? – willlma 2014-09-25 21:55:11
这些都来自yotube.js。我没有添加任何其他内容,因为即使这样也行不通。是的,我也尝试在YouTube链接末尾添加斜线,并且我在YouTube的非SSL(http)页面上测试了此扩展程序,但它仍然无效。 – kv1dr 2014-09-25 22:07:22
“当注释加载时,脚本显示[未定义]。”等待评论加载的代码在哪里? – willlma 2014-09-25 23:50:40