Call parent Javascript function from inside an iframe Call parent Javascript function from inside an iframe jquery jquery

Call parent Javascript function from inside an iframe


Try just parent.myfunction(). Also be 100% sure that the parent.js is included in your parent document.


I know this is an old question, but in case the accepted answer doesn't work (it didn't work for me) you could do this inside parent.js

window.myfunction = function () {   alert("I was called from a child iframe");}

Now from the iframe you can call myfunction() like you initially wanted

window.parent.myfunction(); 


Window.postMessage() method safely enables cross-origin communication.

If you have access to parent page then any data can be passed as well as any parent method can be called directly from Iframe.

Parent page:

if (window.addEventListener) {    window.addEventListener("message", onMessage, false);        } else if (window.attachEvent) {    window.attachEvent("onmessage", onMessage, false);}function onMessage(event) {    // Check sender origin to be trusted    if (event.origin !== "http://example.com") return;    var data = event.data;          if (typeof(window[data.func]) == "function") {        window[data.func].call(null, data.message);    }}// Function to be called from iframefunction parentFuncName(message) {    alert(message);}

Iframe code:

window.parent.postMessage({    'func': 'parentFuncName',    'message': 'Message text from iframe.'}, "*");

References: