从iframe外部调用iframe内的函数

jam*_*mal 10 javascript iframe many-to-many

我有一个包含iframe的页面.在iframe里面我有一个像这样的javascript函数:

function putme() {}
Run Code Online (Sandbox Code Playgroud)

如何在主页面上调用此功能?

Sid*_*ddy 9

window.frames['frameName'].putme();
Run Code Online (Sandbox Code Playgroud)

请注意,这通常仅在iframe指向同一域上的页面时才有效.出于安全原因,浏览器限制对属于不同域的帧内的页面的访问.


Vic*_*tor 1

如果 iframe 与外部页面位于不同的域中,则会遇到很大困难,或者根本不会。

一般来说,浏览器会阻止 javascript 访问来自不同域的代码,但如果您控制这两个页面,则可以通过一些技巧来使某些功能正常工作。或多或少。

例如,您可以从外部更改 iFrame URL 的片段,从 iframe 内部轮询该片段并调用该函数。窗口的名称也有类似的技巧。