如何从iFrame调用Javascript函数?

时间:2017-04-05 07:03:44

标签: javascript html

我有2个html文件。

1.html将从iframe调用2.html。

MainActivity

2.HTML 定义了2个javascript函数。

String color = getIntent().getStringExtra("color", "red");
    if (color.equals("red")) {
        rel.setBackgroundColor(Color.RED);
    } else if (color.equals("green")) {
        rel.setBackgroundColor(Color.GREEN);
    } else if (color.equals("blue")) {
        rel.setBackgroundColor(Color.BLUE);
    }

HTML

<iframe src="2.html" > </iframe>

现在我的问题是,我必须将这两个html文件合并为一个html。 2.html必须在iframe内执行。

我试图做,

function func1(a, b, c) {
  for () {
    .....
  }
}

function func2() {
 func1(a, b, c);
}

但是没有调用func2()。任何人都可以建议在iframe中调用javascript函数的方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

由于CSP(内容安全策略),您无法像这样从iframe调用函数。在iframe之外进行通信的唯一方法是使用消息传递。请参阅此说明https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage