javascript - Access subdomain iframe url from other subdomain page - Stack Overflow

I'm trying to access the iframe contentWindow property for an iframe which is hosted on a subdomai

I'm trying to access the iframe contentWindow property for an iframe which is hosted on a subdomain within the same domain. So I have this code on a.domain (which hosts the role of parent page):

<script type="text/javascript">
    $(document).ready(function () {        
        $('#frame').load(function () {            
            var iframe = document.getElementById('frame');            
            if (iframe) {
                 var item = iframe.contentWindow;             
                if (item.indexOf("Completed") != -1) {
                    window.location.href = '../Home/Completed/';                   
                } else {
                    window.location.href = '../Home/PayAgain/';
                }
            }            
        });
    });
</script>

The actual iframe content sits on b.domain and I want to get the current page in the iframe.

I see some examples that I need to set document.domain = "domain" in both a.domain and b.domain but for example what exactly do I need to set in a.domain and b.domain regarding document.domain?

In which pages in b.domain I need to set the document.domain value?

I'm trying to access the iframe contentWindow property for an iframe which is hosted on a subdomain within the same domain. So I have this code on a.domain. (which hosts the role of parent page):

<script type="text/javascript">
    $(document).ready(function () {        
        $('#frame').load(function () {            
            var iframe = document.getElementById('frame');            
            if (iframe) {
                 var item = iframe.contentWindow;             
                if (item.indexOf("Completed") != -1) {
                    window.location.href = '../Home/Completed/';                   
                } else {
                    window.location.href = '../Home/PayAgain/';
                }
            }            
        });
    });
</script>

The actual iframe content sits on b.domain. and I want to get the current page in the iframe.

I see some examples that I need to set document.domain = "domain." in both a.domain. and b.domain. but for example what exactly do I need to set in a.domain. and b.domain. regarding document.domain?

In which pages in b.domain. I need to set the document.domain value?

Share Improve this question edited Oct 30, 2021 at 22:18 halfer 20.4k19 gold badges109 silver badges202 bronze badges asked Apr 7, 2014 at 18:18 LazialeLaziale 8,24548 gold badges155 silver badges271 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 3

I was in this same situation and I found that using window.postMessage was a much better way to municate between the frames: https://developer.mozilla/en-US/docs/Web/API/Window.postMessage

If you want to use the method you mentioned, every page that loads within the frame will need to manually set document.domain on load. The parent page will also need to set it. It is just a built-in javascript property of the document object.

add document.domain = 'your.domain' in both the pages.

like this. don't forget both parent.top

document.domain = 'corp.local'; only parent like

document.domain = 'corp'; won't work.

As I've mentioned here. javascript get iframe url's current page on subdomain

this document helped. http://javascript.info/tutorial/same-origin-security-policy

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745263697a4619328.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信