[英]javascript, iframe, security - Permission denied when tring to access a js function from parent window
[英]javascript, js - Access a js function inside an iframe from the parent window
大家好日子。
我有以下設置:
一個包含html,js等的頁面(通常的東西)和一個iFrame。 在iFrame中,我有一個執行某些操作的功能(任何事情..警報('test');例如)。
如果我點擊主頁面上的按鈕,我需要運行該功能。
例如,如果我在主頁面中按下按鈕警報,則iFrame中必須出現帶有“測試”字樣的警報。
document.frames[n]
使框架可以按文檔中出現的順序訪問。 所以document.frames[0].contentWindow.myFunction()
會在框架內調用你的函數,以防iframe是唯一的框架。
從框架中調用主窗口中的函數通過top
工作,如top.myFunction()
。 如果你只想提高一級,你就使用parent
級。
為了更加健壯:
function getIframeWindow(iframe_object) {
var doc;
if (iframe_object.contentWindow) {
return iframe_object.contentWindow;
}
if (iframe_object.window) {
return iframe_object.window;
}
if (!doc && iframe_object.contentDocument) {
doc = iframe_object.contentDocument;
}
if (!doc && iframe_object.document) {
doc = iframe_object.document;
}
if (doc && doc.defaultView) {
return doc.defaultView;
}
if (doc && doc.parentWindow) {
return doc.parentWindow;
}
return undefined;
}
和
...
var el = document.getElementById('targetFrame');
getIframeWindow(el).targetFunction();
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.