본 사이트는 여러분의 사용자 경험을 개선하기 위해 유지 보수를 진행하는 동안 기능이 제한됩니다. 도움말로 문제가 해결되지 않고 질문을 하고 싶다면 Twitter의 @FirefoxSupport 및 Reddit의 /r/firefox 채널을 활용하세요.

Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

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 답장
  • 2 이 문제를 만남
  • 1 보기
  • 최종 답변자: 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.

글쓴이 binit.00354 수정일시

모든 댓글 (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: