在另一个iframe

时间:2017-12-02 18:23:33

标签: javascript html iframe

我在主html页面中有2个iframe,我会从iframe 2调用位于iframe 1中的javascript函数

在第2帧我正在调用函数,如下所示:

<tr class="style16" onclick="document.getElementById('IFRAME_mapa').changeCenter({lat:-20.419528,lng:-54.576573})">

我收到此错误消息

  

未捕获的TypeError:无法读取null的属性“changeCenter”

我也试过..

<tr class="style16" onclick="document.getElementById('IFRAME_mapa').contentWindow.changeCenter({lat:-20.419528,lng:-54.576573})">

但得到了关于contentWindow无法读取的相同消息

javascript函数位于iframe部分

第一个问题..我想做的事情是什么? 第二......什么是正确的方法呢?

1 个答案:

答案 0 :(得分:0)

找到了一种方法,而不是使用postMessage API

在调用者iframe(iframe2)上,我调用位于父文档的JS函数

onclick="changeCenter({lat:-20.419528,lng:-54.576573})"

on parent有一个函数可以调用iframe1传递参数

中的函数
function MapCenter(center) 
{
    document.getElementById("IFRAME1").contentWindow.changeCenter(center);
}

最后在iframe1内部是将对iframe1执行操作的函数

function changeCenter(center) 
{
    map.setZoom(15);
    map.setCenter(center);
}