Supponiamo che 2 estensioni siano installate in Google Chrome.Lo script di contenuto non è in esecuzione in iframe all'interno della pagina di un'altra estensione
prima estensione viene eseguito su content.js w3.org:
manifest.json:
"content_scripts": [{
"matches": [ "https://www.w3.org/*" ],
"all_frames": true,
"js": [ "content.js" ]
}]
content.js:
alert('content');
seconda estensione ha page.html, che carica w3.org in iframe:
manifest.json:
"web_accessible_resources": ["page.html"]
page.html:
<!DOCTYPE html>
<iframe src="https://www.w3.org/"></iframe>
Ora inserire nella barra degli indirizzi chrome-extension://2nd-extension-id/page.html
. Vedrai w3.com, ma content.js non era in esecuzione (nessuna finestra alert()
). Non vedo errori nella console.
La domanda è: come consentire allo script di contenuto di essere eseguito in questo iframe?
ho creato Chrome issue. Stato: WontFix, sfortunatamente. Ma questo è può essere modificato in futuro ...
Semplicemente non puoi. Le estensioni non possono essere eseguite in altre estensioni. Consentire una cosa del genere renderebbe possibile alle estensioni malevoli di fare cose molto brutte. –
@Marc Guiselin, n. w3.org non fa parte dell'estensione e funziona nel proprio contesto con permessi standard. – CoolCmd