Home Web Front-end JS Tutorial How Can I Get the Parent Page's URL from an iFrame on a Different Subdomain?

How Can I Get the Parent Page's URL from an iFrame on a Different Subdomain?

Nov 15, 2024 pm 10:06 PM

How Can I Get the Parent Page's URL from an iFrame on a Different Subdomain?

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:

1

2

3

var url = (window.location != window.parent.location)

            ? document.referrer

            : document.location.href;

Copy after login

Note:

  • window.parent.location avoids the security error caused by accessing the href property (window.parent.location.href).
  • document.referrer refers to the URI of the page that linked to the iFrame. This may not return the containing document if the iFrame location was determined by another source.
  • document.location refers to the URL of the document, which is the iFrame in this case. When window.location and window.parent.location are identical, the iFrame's href is the same as the parent's href.

The above is the detailed content of How Can I Get the Parent Page's URL from an iFrame on a Different Subdomain?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Replace String Characters in JavaScript Replace String Characters in JavaScript Mar 11, 2025 am 12:07 AM

Replace String Characters in JavaScript

Custom Google Search API Setup Tutorial Custom Google Search API Setup Tutorial Mar 04, 2025 am 01:06 AM

Custom Google Search API Setup Tutorial

Example Colors JSON File Example Colors JSON File Mar 03, 2025 am 12:35 AM

Example Colors JSON File

8 Stunning jQuery Page Layout Plugins 8 Stunning jQuery Page Layout Plugins Mar 06, 2025 am 12:48 AM

8 Stunning jQuery Page Layout Plugins

10 jQuery Syntax Highlighters 10 jQuery Syntax Highlighters Mar 02, 2025 am 12:32 AM

10 jQuery Syntax Highlighters

Build Your Own AJAX Web Applications Build Your Own AJAX Web Applications Mar 09, 2025 am 12:11 AM

Build Your Own AJAX Web Applications

What is 'this' in JavaScript? What is 'this' in JavaScript? Mar 04, 2025 am 01:15 AM

What is 'this' in JavaScript?

10  JavaScript & jQuery MVC Tutorials 10 JavaScript & jQuery MVC Tutorials Mar 02, 2025 am 01:16 AM

10 JavaScript & jQuery MVC Tutorials

See all articles