![](/img/trans.png)
[英]How do I inject a function declared in the parent page into an iframe, then call it?
[英]How do I call a nested function in a parent document from an iframe
在父母中:
function outer(){
function inner(){
alert("hello");
}
}
在iframe中
parent.outer.inner();
不起作用。
編輯:所以他們是私人的。 沒問題。 這樣做的原因是嘗試將這些功能盡可能地隱藏在全局范圍之外。 我認為將它們放在一個具有唯一名稱的函數名稱后面是最好的方法。
基本上我需要
父:
function outer(action){
if(action == "inner")
inner()
function inner(){
alert("hello");
}
}
iframe:parent.outer(“內部”);
有沒有更優雅的方式做到這一點?
嵌套函數是私有的,最多只能為外部函數之外的內部函數指定參數。
可以在https://developer.mozilla.org/en/JavaScript/Reference/Functions_and_function_scope下的“嵌套函數和閉包”下找到說明。
通過使用閉包:
function outer(){
function inner(){
alert("I am Inner");
}
return inner ;
}
var x = outer();
x();
如果您想使用內部函數的變量,我們可以這樣進行:
function outer(){
function inner(){
var y=10; return y;
}
return inner ;
}
var x = outer();
x();
這似乎很好地回答了我的編輯問題如何將字符串轉換為javascript函數調用?
一種方法是使用對象
function Outer(){
this.inner = function(){
alert("hello");
}
}
var o = new Outer()
o.inner();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.