Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

Vanwege onderhoudswerkzaamheden die uw ervaring zouden moeten verbeteren, heeft deze website beperkte functionaliteit. Als een artikel uw probleem niet verhelpt en u een vraag wilt stellen, kan onze ondersteuningsgemeenschap u helpen in @FirefoxSupport op Twitter en /r/firefox op Reddit.

Zoeken in Support

Vermijd ondersteuningsscams. We zullen u nooit vragen een telefoonnummer te bellen, er een sms naar te sturen of persoonlijke gegevens te delen. Meld verdachte activiteit met de optie ‘Misbruik melden’.

Meer info

Deze conversatie is gearchiveerd. Stel een nieuwe vraag als u hulp nodig hebt.

Cross-Origin Resource Sharing. Added header 'Access-Control-Allow-Origin' in response header for iframe data. Can parent page now manipulate iframe's DOM ?

  • 1 antwoord
  • 2 hebben dit probleem
  • 1 weergave
  • Laatste antwoord van guigs

more options

Let say, I have a page on domain www.a.b.xyz.com. This page contains an iframe, with data from www.d.xyz.com.

iframe is loaded with data from www.d.xyz.com, by submitting html form to host www.d.xyz.com. In return server www.d.xyz.com is returning HTML DOM to be rendered in iframe. Server also sets header 'Access-Control-Allow-Origin: *.xyz.com' in response.

iframe is loaded with HTML DOM from www.d.xyz.com.

Now, I'm trying to access/manipulate (for eg: Click a button in iframe) DOM from parent page using Javascript. But, I'm not able to do so.

Is it because, 'Access-Control-Allow-Origin: *.xyz.com' just informs browser to show/render the content from www.d.xyz.com on www.a.b.xyz.com, but do not grant permission to parent page to manipulate iframe's DOM ?

I am able to manipulate iframe's DOM from parent, only if I create sub-domain for both parent and iframe- document.domain='xyz.com'; I changed domain using firebug debugger.

Any help will be appreciated.

Let say, I have a page on domain www.a.b.xyz.com. This page contains an iframe, with data from www.d.xyz.com. iframe is loaded with data from www.d.xyz.com, by submitting html form to host www.d.xyz.com. In return server www.d.xyz.com is returning HTML DOM to be rendered in iframe. Server also sets header 'Access-Control-Allow-Origin: *.xyz.com' in response. iframe is loaded with HTML DOM from www.d.xyz.com. Now, I'm trying to access/manipulate (for eg: Click a button in iframe) DOM from parent page using Javascript. But, I'm not able to do so. Is it because, 'Access-Control-Allow-Origin: *.xyz.com' just informs browser to show/render the content from www.d.xyz.com on www.a.b.xyz.com, but do not grant permission to parent page to manipulate iframe's DOM ? I am able to manipulate iframe's DOM from parent, only if I create sub-domain for both parent and iframe- document.domain='xyz.com'; I changed domain using firebug debugger. Any help will be appreciated.

Bewerkt door binit.00354 op

Alle antwoorden (1)

more options

It sounds like you are running into this restriction and are looking for a work around: security.fileuri.strict_origin_policy preference, which defaults to true

I am not entirely sure if the subdomain counts a the same origin, but you can try location set. But an even better example: https://developer.mozilla.org/en-US/A.../Cross_Domain_Content_Scripts#Cross-domain_iframes

So your original question: Can parent page now manipulate iframe's DOM ? Sort of.


References: