In this tutorial it is present the mode to get and modify content in an IFRAME, from the main page, using JavaScript.
It is important to know that the page that is included in IFrame must be on the same server as the main page which contains it, or else it will not work for security reasons.

Going straight to the point, to get and modify the content of an IFrame, you can use the contentWindow property, it returns the "window object" of a specified frame or iframe.
Here's an example to understand how to apply this property.

1) First create a file "ifr.htm" that will contain the HTML code of the page that will be displayed in the IFrame.

Code ifr.htm

<html>
<head><title>Iframe page</title></head>
<body>
 Content to be displayed in iframe ...
</body>
</html>

2) Define the main page, for example "main.html" (in the same folder on the server), in which write the code to include the IFrame and the JavaScript that will retrieve and modify the content of the IFrame.
- Necessary explanations are in the script code.

Code main.html

<html>
<head><title>Main page</title></head>
<body>
<script type="text/javascript">
function get_iframe(ifr_id) {
  // gets the object that refers to the iframe, uasing its id
    var myIFrame = document.getElementById(ifr_id); // Apply the property "contentWindow" to myIFrame object // In this way we get the iframe content var content = myIFrame.contentWindow.document.body.innerHTML; alert("Content: \n" + content); // Displays an Alert with the data from iframe // Define a new text that will replace the content of the iframe content = '<font color="blue">Text added with Javascript, from the main page</font>'; // Modify the iframe content myIFrame.contentWindow.document.body.innerHTML = content; } </script> <h3>Main page</h3> <a href="#" onclick="get_iframe('ifr')">Retrieve /Modify IFrame</a><br><br> <iframe src="ifr.htm" id="ifr" name="ifr"></iframe> </body> </html>

- This example will display the following result:

The main page

Retrieve /Modify IFrame

Content to be displayed in iframe ...
- When you click the link "Retrieve /Modify IFrame", the function "get_iframe()" will be called, that gets the content from the Iframe, and displays it in an Alert window, then sets a text to replace the iframe content. If you click again, it will retrieve and display the new content.

Another way to access the content of an iframe is to use the parent property and the IFrame's name. With this method you can access JavaScript variables and functions defined in IFrame.
This method is presented in the next tutorial, in which you will see how to get and modify the content of an IFrame by accessing a JS script that is created in another IFrame.
Get and Modify content of an Iframe

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which attribute is used in <a> tag for the address of the link?
src href rel
<a href="http://coursesweb.net/" title="CoursesWeb.net">CoursesWeb.net</a>
Which CSS property sets the type of the text font?
font-family text-decoration font-size
h2 {
  font-family:"Calibri",sans-serif;
}
What instruction selects all the <div> tags with class="cls"?
querySelector("div.cls") getElementsByTagName("div") querySelectorAll("div.cls")
var elm_list = document.querySelectorAll("div.cls");
var nr_elms = elm_list.length;       // number of selected items
alert(nr_elms);
Indicate the function that can be used to get the sum of values in an array.
array_sum() array_diff() array_shift()
$arr = array(1, 2, 3, 4);
$arr_sum = array_sum($arr);
echo $arr_sum;       // 10

Last accessed pages

  1. For and Foreach Loops (1100)
  2. Date and Time in ActionScript 3 (4020)
  3. Creating objects in ActionScript (4077)
  4. CSS Rhombus Shape (2450)
  5. Adding Filters effects (224)

Top accessed pages

  1. Courses Web: PHP-MySQL JavaScript Ajax HTML CSS Flash-AS3 (35601)
  2. PHP-MySQL free course, online tutorials PHP MySQL code (28476)
  3. Read Excel file data in PHP - PhpExcelReader (27361)
  4. Get Attribute (ID, Class, Name, Title, Src) with jQuery (26607)
  5. PHP PDO - exec (INSERT, UPDATE, DELETE) MySQL (23352)