Access Parent URL from iFrame: Restrictions and Workarounds
Accessing the URL of the parent frame from an iFrame can be a challenge, particularly when the iFrame is located on a different subdomain. This is due to security restrictions imposed by cross-site scripting (XSS) prevention measures.
When accessing the iFrame from the same domain and subdomain as the parent frame, accessing the parent's location should be straightforward using expressions like parent.document.location or parent.window.location. However, as highlighted by the user, this approach fails when the iFrame is on a different subdomain.
To further illustrate this point, consider the example provided where pageA.html is hosted on http://www.mysite.com/ and pageB.html (the iFrame) is hosted on http://qa-www.mysite.com/. Attempting to retrieve the parent's URL from pageB.html will trigger an access denied error. This confirms that subdomains are also subject to cross-site scripting restrictions.
While accessing the parent's URL directly is prohibited under these circumstances, there is a workaround that can be utilized. To obtain the URL of the parent frame, the following JavaScript code can be employed:
var url = (window.location != window.parent.location) ? document.referrer : document.location.href;
Note:
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3