现有主页面 main.html 和 子页面 a.html 以及 111.js 文件。子页面是以 iframe 的方式嵌入到主页面上的。
现在想调用 子页面 a.html 时,加载 111.js 文件完成 a.html 一些初始化值的操作。
问题:
- 111.js 文件是不是应该在 a.html 文件中引入?
- 111.js 文件是不是不能使用 $(function(){})这种写法?因为这样写,调用主页面时就会执行该文件?
- 111.js 文件应该如何在 a.html 中进行调用呢?
父子页面的通信可以用 postmessage
1. 是的
2. 父子页面资源不共享。子页面用不了父页面引入的库和框架
3. a 父页面向子页面发送 message,子页面再根据 message 加载 111.js 或者其他操作; b 父页面引入子页面时通过 url 传参,子页面根据参数加载 111.js
如果要是能解决跨域,父页面可以操作子页面 window 对象,否则还是用 message 吧。message = postmessage