2012-01-18 15 views

Odpowiedz

29

Tak, skrypt zawartości rozszerzenia Chrome może działać we wszystkich elementach iframe (początkowo w kodzie HTML po załadowaniu strony). W celu uruchomienia skryptu treści we wszystkich ramkach trzeba go skonfigurować, aby to zrobić w manifest.json Chrome Extension pomocą właściwości all_frames:

http://code.google.com/chrome/extensions/content_scripts.html

{ 
    "name": "My extension", 
    ... 
    "content_scripts": [ 
    { 
     "matches": ["http://www.google.com/*"], 
     "css": ["mystyles.css"], 
     "js": ["jquery.js", "myscript.js"], 
     "all_frames": true 
    } 
    ], 
    ... 
} 

Nie, skrypty zawartość będzie NOT wykonać w ramkach iframe załadowanych dynamicznie za pomocą JavaScript na stronie.

+0

Czy istnieje sposób na wykonanie skryptu treści również w dynamicznie ładowanym JS? Czy to po prostu niemożliwe? – Honoki

+0

@Honoki Nie wierzę, że istnieje sposób na dodanie rozszerzenia Chrome do dodania JS do ramek iframe dodanych dynamicznie w JavaScript po wczytaniu strony. Jeśli jednak kontrolujesz zawartość elementu iframe, możesz zrobić to, co chcesz. Co próbujesz załadować w elemencie iframe? Być może istnieje interfejs Web API, który może być potrzebny, jeśli nie, rury Yahoo + YQL mogą być przydatne do pobierania treści z innych witryn, które nie mają dobrego interfejsu API WWW/REST. –

+0

Wygląda na to, że z moich eksperymentów wynika, że ​​contentcripts * do * są wykonywane w nowo utworzonych elementach iframe ... zauważ także, że uruchamia ono oddzielne kopie swojego pliku contentscript.js, raz dla każdego elementu iframe (chociaż teoretycznie mogłyby się ze sobą komunikować za pomocą przekazywania komunikatów)) i raz dla głównego dokumentu ... – rogerdpack

Powiązane problemy