将javascript变量从父对象传递到iframe
我知道我们可以将javascript变量从iframe传递到父帧,如下所示:将javascript变量从父对象传递到iframe,javascript,Javascript,我知道我们可以将javascript变量从iframe传递到父帧,如下所示: function myFunction(postMe) { ((console&&console.log)||alert)("postMe= " + postMe); } 如果父窗口和iframe都在同一个域中,我们可以调用父窗口的函数: iframe代码: window.postMe = "postMe value here"; window.parent.myFunction(postMe
function myFunction(postMe) {
((console&&console.log)||alert)("postMe= " + postMe);
}
如果父窗口和iframe都在同一个域中,我们可以调用父窗口的函数:
iframe代码:
window.postMe = "postMe value here";
window.parent.myFunction(postMe);
在父窗口中,我们可以定义如下函数:
function myFunction(postMe) {
((console&&console.log)||alert)("postMe= " + postMe);
}
上面的代码正确地记录了“postMe”值
但是我的问题是如何修改这段代码,以便将“postMe”从父函数传递到iframe?如果您想继续在父函数上使用
myFunction
,您可以让父函数接受子函数传递的回调:
window.postMe = "postMe value here";
window.parent.myFunction(postMe, (response) => {
console.log(response);
});
请参阅此处以获取实时演示(由于沙盒问题,无法作为堆栈片段嵌入):
对于从父级到子级的单向通信,请从父级访问iframe的contentWindow
:
// child
function childFn(val) {
console.log(val);
}
不幸的是,我不能让它工作(第一个代码)请你进一步解释一下好吗?第一部分是应该在iframe代码上的代码,第二部分应该在父代码上,对吗?等等。。。我想把父母的邮件传给我,对吗?所以我需要postMe作为父代码中的变量。。。不在iframe代码中。。。如果我错了,请纠正我…您正在询问如何修改现有代码,该代码在iframe中有
postMe
,并且正在将信息发送给父级,这是我复制的。您可以将任何内容发送回孩子,请参见const val
行-您在那里放置的任何内容都将发送到iFrame谢谢。。。你的代码工作得很好。。。现在我要发布关于我的问题的另一个问题。。。
// parent
iFrameElement.contentWindow.childFn('foo');