iframe共享js对象
目的

在nav.html中的js文件中创建了一个js对象(menu),
现在想在iframe中获得menu,
错误
//index.js
//一开始想的是在index.js定义一个全局变量menu,
var menu=null;
<!--nav.html-->
<script type="text/javascript" src="/js/index.js"></script>
<script type="text/javascript">
//然后在把menu赋值
menu = new Menu();
</script>
<!--iframe.html-->
<script type="text/javascript" src="/js/index.js"></script>
<script type="text/javascript">
//最后在iframe中访问menu
console.log(menu)
//这样打印的结果为null
</script>
这种方法不行
对前端js有误解
上面的做法相当于,其实在nav.html和iframe.html中都有变量menu,在nav.html中赋值并不会在iframe取到
正确
<!--iframe.html-->
<script type="text/javascript">
var menu=window.parent.menu//这样获得了nav.html中定义的
</script>
window.parent 获得父级窗口,这样就可以获得父级窗口的所有内容,js对象和dom元素
dom元素通过window.parent.document.getElementById()类似的方法获得