Inject javascript in an iframe using chrome extension

17,159

Yes, you can use content_scripts property in manifest.json like this:

"content_scripts": [{
    "matches": ["http://*/*", "https://*/*"],
    "js": ["content_frame.js"],
    "all_frames": true
}],

By setting all_frames to true you will inject/include content_frame.js javascript file into top document and all iframes. In case you just need javascript injected in iframe but not in top document you can check inside your content_frame.js file like this:

if (parent === top) {
    // here you can put your code that will run only inside iframe
}
Share:
17,159
coding_idiot
Author by

coding_idiot

I am a programming enthusiast, passionate about javascript, java, php & mql. I focus more on architecture, standards & think for minutes before coding in seconds. LinkedIn - https://www.linkedin.com/in/codingidiot Medium - soft romantic music fuels my engine. born with Foxpro, Play with VB, sleep with C/C++, Work with Java, sing with Swing, Eat with Jquery, code with Hibernate, Debug with GWT, dance with Javascript, Party with Backbone. Thats' Me!

Updated on June 27, 2022

Comments

  • coding_idiot
    coding_idiot almost 2 years

    There are lots of questions/answers on injecting javascript into the document page. What I really want to do is inject javascript in an iframe within the document.

    To be clear, that iframe doesn't belong to the same domain as the document. I've already tried it through console (not through extension) but was unable to do so.

    I'm very curious if this is something that can be done using a chrome-extension ?