Подозирам, че Chrome ще инжектира вашите скриптове за съдържание във IFRAME, който е част от оригиналния източник на страница, какъвто е случаят с примера на reddit.com - IFRAME са част от оригиналната страница, така че Chrome може и ще инжектира в тях. За връзката html5video IFRAME не е част от оригиналния източник. Въпреки това, ако проверите елементите, можете да видите IFRAME, което ми подсказва, че IFRAME е динамично заредено в DOM. Виждам същото поведение с разширение, което съм написал, така че изглежда последователно.
Ако трябва да инжектирате в IFRAME, тогава може би можете да закачите събитието за създаване на DOM и да предприемете действието, от което се нуждаете:
document.addEventListener('DOMNodeInserted', onNodeInserted, false);
АКТУАЛИЗАЦИЯ:
Какво ще кажете за това за http://html5video.org/ - използвайки следния код content_script мога да получа IFRAME и след това ВИДЕО етикет. Забележка: Този подход/концепция също трябва да работи доста добре и за Reddit.
content_script.js
console.log("content script for: " + document.title);
var timer;
document.addEventListener('DOMNodeInserted', onNodeInserted, false);
function onNodeInserted(e)
{
if(timer) clearTimeout(timer);
timer = setTimeout("doSomething()", 250);
}
function doSomething()
{
$media = $(".mwEmbedKalturaIframe");
console.log($media);
$video = $media.contents().find("video");
console.log($video);
}
manifest.json
{
// Required
"name": "Foo Extension",
"version": "0.0.1",
// Recommended
"description": "A plain text description",
"icons": { "48": "foo.png" },
//"default_locale": "en",
// Pick one (or none)
"browser_action": {
"default_icon": "Foo.png", // optional
"default_title": "Foo Extension" // optional; shown in tooltip
},
"permissions": [ "http://*/", "https://*/", "tabs" ],
"content_scripts": [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["jquery-1.7.1.min.js", "content_script.js" ],
"run_at": "document_idle",
"all_frames": true
}
]
}
Вижте също: jQuery/JavaScript: достъп до съдържанието на iframe
person
RidingTheRails
schedule
27.02.2012