Angenommen, in Google Chrome sind 2 Erweiterungen installiert.Das Inhaltsskript wird nicht in iframe auf der Seite einer anderen Erweiterung ausgeführt
1. Erweiterung läuft content.js auf w3.org:
manifest.json:
"content_scripts": [{
"matches": [ "https://www.w3.org/*" ],
"all_frames": true,
"js": [ "content.js" ]
}]
content.js:
alert('content');
zweite Erweiterung hat page.html, die w3.org in iframe lädt:
manifest.json:
"web_accessible_resources": ["page.html"]
seite.html:
<!DOCTYPE html>
<iframe src="https://www.w3.org/"></iframe>
Jetzt chrome-extension://2nd-extension-id/page.html
in die Adressleiste eingeben. Sie werden w3.com sehen, aber content.js wurde nicht ausgeführt (kein alert()
Fenster). Ich sehe keine Fehler in der Konsole.
Die Frage ist: wie Inhalts-Skript in diesem Iframe ausgeführt werden?
I erstellt Chrome issue. Status: WontFix, leider. Aber dies kann in Zukunft geändert werden ...
Sie können einfach nicht. Erweiterungen können nicht in anderen Erweiterungen ausgeführt werden. Wenn man so etwas zulässt, würde es bösartigen Erweiterungen möglich sein, einige sehr schlimme Dinge zu tun. –
@Marc Guiselin, nein. w3.org ist nicht Teil der Erweiterung und läuft in eigenem Kontext mit Standardberechtigungen. – CoolCmd