postMessage是html5引入的API,postMessage()方法允许来自不同源的脚本采用异步方式进行有效的通信,可以实现跨文本文档,多窗口,跨域消息传递.多用于窗口间数据通信,这也使它成为跨域通信的一种有效的解决方案.
创新互联是专业的行唐网站建设公司,行唐接单;提供网站设计、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行行唐网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
要发送到其他窗口的数据,它将会被 !结构化克隆算法 序列化.这意味着你可以不受什么限制的将数据对象安全的传送给目标窗口而无需自己序列化.
通过窗口的origin属性来指定哪些窗口能接收到消息事件,指定后只有对应origin下的窗口才可以接收到消息,设置为通配符"*"表示可以发送到任何窗口,但通常处于安全性考虑不建议这么做.如果想要发送到与当前窗口同源的窗口,可设置为"/"
是一串和message同时传递的 Transferable 对象,这些对象的所有权将被转移给消息的接收方,而发送一方将不再保有所有权.
下面是打印出的结果 data属性为传输过来的数据
若用到的地方很多 建议加上 targetOrigin 属性 并且给数据加好type确保数据正确的被接收
欢迎对这个有研究、有兴趣或者发现文章有错误的地方的伙伴们和我交流,共同进步~~~
不行。
主要通讯方式就是485通讯,其次还有422,232,以及CAN总线通讯,假设其中一个PLC为上位机,另外的都为下位机,设置不同的站号,进行交互通讯。一般情况下,如果不需要读取过多参数,还可以通过触摸屏,所有的PLC都和触摸屏通讯,然后通过触摸屏转换控制。
HTTPS协议存在的问题:
1、授权费用高。
2、局域网必须导入证书。
简单的AJAX加密通讯:
页面用HTTP协议传输,只加密AJAX部分。javascript初次访问时获取服务端公钥,然后将公钥永久存储在本地浏览器的HTML5容器中。后续通讯类似HTTPS协议,客户端用公钥加密随机秘钥,发送给服务端,然后双方就以此秘钥为基础进行本次会话的AJAX通讯。
分析:
只要初次访问时不被中间人拦截,后续的通讯都是安全的。初次访问就类似于浏览器的证书导入,访问一次即可。
用途:
局域网Web应用的安全通讯。安全性不如HTTPS高,但使用简单,不会有警告提示。
1、在B页面中可以使用window.opener获得A页面的window句柄,使用该句柄即可调用A页面中的对象,函数等。例如A页面定义js函数onClosePageB,在B页面可以用window.opener.onClosePageB来进行回调。
2、使用 window.showModalDialog(sURL [, vArguments] [,sFeatures])打开新窗口。
其中vArguments 参数可以用来向对话框传递参数。传递的参数类型不限,包括数组、函数等。对话框通过window.dialogArguments来取得传递进来的参数。
3、如果是支持HTML5的话,建议用本地存储(local storage),它支持一个事件方法window.onstorage,只要其中一个窗口修改了本地存储,其他同源窗口会触发这个事件。
程序需要python和js混合编程,如何在python获取js中变量的值。
是web的话,用http通信就好了
用python selenium吧,通过selenium代理python和浏览器之间的通信。
如果非要纠结是否远程调用而不是本地数据调用,可以试试PyQt4,
里面有一个QWebKit模块(最新版本的PyQt5去掉Webkit了用的另外一个模块),
PyQt5和PyQt4功能雷同,可以认为是2个分支
Webkit里面有Python和JS的交互,甚至你可以用PyQt4做一个浏览器