首页 新闻 会员 周边

复杂JS对象转为字符串的问题

0
悬赏园豆:50 [已解决问题] 解决于 2018-04-01 23:04

问题描述:
1. 为了实现小屏控制大屏的效果(大小屏内容一样,分辨率不一样),所以用websocket进行前后端通信,想把前端动作产生的事件Event转发到服务器,然后再由服务器分发到受控端,受控端接收到事件后,触发相应动作。然而webSocket只能发送String或者二进制类型的数据,所以要把Event转为JSON或者字符串类型。

2.尝试各种js对象转换字符串方法

var Event2Str = $(event).serializeArray();
var Event2Str = JSON.stringify(event);

均不能实现完全转换的目的(仅转换第一个属性)。

3. 环境: JAVA(Springmvc) + JSP + JS +tomcat
4. 可能我实现的思路不对,只要实现小屏控大屏的效果就可以,望各位不吝赐教!!!

5.参考:

如何在打开多个网页后,只需在一个网页上操作,其他网页都会同步操作?

且听风吟_z的主页 且听风吟_z | 初学一级 | 园豆:48
提问于:2017-12-07 11:34
< >
分享
最佳答案
1

内容一样是不是可以理解为DOM一样,那就不需要传递event,传递两件事:

 1.触发元素:element

 2.动作: eventType

当大屏幕接收到后,用指定元素模拟触发相应类型的事件,就能产生同样的event。

收获园豆:20
铁柱成针 | 小虾三级 |园豆:614 | 2017-12-07 13:26

借宝地写下结贴总结:

最终还是决定写独立的控制软件~ over

且听风吟_z | 园豆:48 (初学一级) | 2018-04-01 23:08
其他回答(2)
0

.......你在想啥.你以为event只是一个对象吗..你传过去接收的地方怎么用?

收获园豆:15
吴瑞祥 | 园豆:29449 (高人七级) | 2017-12-07 12:02

event不只是一个对象啊?那如果我要实现   前端(控制端)--服务端(转发)--前端(受控端) ,应该发送什么数据过去呢?可以使受控端接收到数据后,可以根据数据来产生相应的动作,能不能简单说下实现思路?

PS:我现在的实现是  前端动作编号-->发送数据编号(1,2,3,4...)-->websocket接受数据,并转发给受控端,受控端根据接受的编号来执行相应的动作 。 这种方法可以实现,但是业务量大的话,那就是灾难~

 

支持(0) 反对(0) 且听风吟_z | 园豆:48 (初学一级) | 2017-12-07 12:59

@且听风吟_z: 你后面说的是对的.

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-12-07 13:13
0

如果大小屏内容一样,那就不需要这样做了,随便一个投屏软件就可以实现小屏投影到大屏的功能,而且同步杠杠的。

如果大小屏不一样,那你传递的也不应该是event对象,你需要传递的是参数以及方法名,大屏需要用callback方式调用js方法就行了。

收获园豆:15
yhdino | 园豆:701 (小虾三级) | 2017-12-07 14:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册