从另一个页面访问功能(IE11)

我有一个打开子页面(IE11)的父页面。


我想向父页面添加一些控件,以触发子页面中的某些功能。


这是父页面的内容(简体):


<script>


    let newWindow = window.open('cannon.htm','Picture Display', 'width=780, height=520');


</script>


<button onclick="newWindow.actions.sayHello()">Say</button>

这是子页面的内容(简体):


let actions;


window.addEventListener('load', function() {


    actions = (function() {


        return {

            sayHello: function() {

                 console.log("hello");

            }

        }


    })();


});

这将引发错误。为什么?我该如何运作?


错误:无法获取未定义或空引用的属性“ sayHello”


尚方宝剑之说
浏览 151回答 2
2回答

繁星淼淼

使用单独的脚本:cannon.js:let actions;window.addEventListener('load', function() {&nbsp; &nbsp; actions = (function() {&nbsp; &nbsp; &nbsp; &nbsp; return {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sayHello: function() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;console.log("hello");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; })();});cannon.htm:<script src="cannon.js"></script>父页面(index.html):<script src="cannon.js"></script>

一只斗牛犬

我找到了解决方案!非常简单:仅使用var actions;而不是let actions;访问该功能。let限制范围,因此无法访问。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript