本文主要是介绍websocket坐席,跨页面使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
客户要求在弹出的子页面中调用tlwsa呼出。因为我们的demo只是为单页面的情形写的,所以不能直接用,要改造。
1 首先,唯一的tlwsa对象,不能放在TLWSADemo.js里生成了,要放在主页面webSocketAgent.html里面生成。
2 在新页面中(假设新页面是在webSocketAgent.html里用window.open打开的),通过 window.opener.tlwsa得到唯一的tlwsa对象。(这个其实就是在页面之间传递/共享对象/变量)
在子页面中,这样写:
<script src="TLWebSocketAgent.js"></script><script>var authCode="tlwsab"; //验证码,必须与服务端配置的验证码相同,否则不能通过验证,无法登录到服务器//alert("asdf");//alert(window.opener.head);//window.opener.openAndlogin("81.70.154.77",100001,1,-1);var tlwsa=window.opener.tlwsa; //</script><script src="TLWSADemo.js"></script>```
理论上这样就可以了,但是实际运行,报错,用F12调试页面,看到错误提示是:
blocked a frame with origin null from accessing
百度,得到的结果是:chrome的安全策略,本地文件不允许这样,但是在webserver上就没事。
安装python3.9,在网页目录下面启动一个httpserver:
python -m http.server
然后在浏览器地址栏输入:http://localhost:8000/webSocketAgent.html
测试OK
这篇关于websocket坐席,跨页面使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!