永洪社区

标题: 网页控件怎么如下脚本通讯 [打印本页]

作者: 隔壁小李    时间: 3 天前
标题: 网页控件怎么如下脚本通讯
const iframe = document.getElementId('proxy')
iframe.contentWindow.postMessage({oldPhoto: '我的照片'}, "*");



作者: yhdata_lyaa    时间: 3 天前
你想实现什么,bi不支持该函数
作者: 隔壁小李    时间: 前天 13:40
yhdata_lyaa 发表于 2024-11-11 16:08
你想实现什么,bi不支持该函数

集成了3d模型,要点击按钮给3d模型发送切换命令
作者: yhbi老6了    时间: 前天 13:54
隔壁小李 发表于 2024-11-12 13:40
集成了3d模型,要点击按钮给3d模型发送切换命令

你这个3d模型,不是通过url的方式加载的吗?url携带模型选择参数就好,添加一下模型选择的解析
作者: 隔壁小李    时间: 前天 14:14
yhbi老6了 发表于 2024-11-12 13:54
你这个3d模型,不是通过url的方式加载的吗?url携带模型选择参数就好,添加一下模型选择的解析 ...

是url,但是我们和3d模型有交互,放url参数的话会每次都重新加载3d模型,这样的话不友好,因为加载一次要3到4分钟
作者: yhbi老6了    时间: 前天 14:34
那你们版本是10吧?试试看创建 restful 数据集,利用 restful 的 post , 进行传递参数给模型?
作者: 隔壁小李    时间: 前天 15:11
yhbi老6了 发表于 2024-11-12 14:34
那你们版本是10吧?试试看创建 restful 数据集,利用 restful 的 post , 进行传递参数给模型? ...

那我在页面怎么调用restful?
作者: yhbi老6了    时间: 前天 15:20
在restful数据集的body中携带参数 modle ,然后post或者get会返回200之类的,返回的东西无所谓不重要。看板上拉一个普通表:图表1,绑定restful数据集的随便一个列。然后拉小或者接脚本设置height=0。然后按钮上提交脚本写 clearData('图表1') ,进行重新加载:图表1,目的是触发post请求,并携带你新的参数值给服务器
作者: yhbi老6了    时间: 前天 15:22
描述得有详也简,不清再问。
作者: 隔壁小李    时间: 前天 15:31
yhbi老6了 发表于 2024-11-12 15:20
在restful数据集的body中携带参数 modle ,然后post或者get会返回200之类的,返回的东西无所谓不重要。看板 ...

我们支持websocket么?
作者: yhbi老6了    时间: 前天 15:34
隔壁小李 发表于 2024-11-12 15:31
我们支持websocket么?

不支持,支持我就不会和你说用restful这么曲折了。
作者: yhbi老6了    时间: 前天 15:35
如果数据库填报也可以,倒是有方法
作者: 隔壁小李    时间: 前天 15:39
yhbi老6了 发表于 2024-11-12 15:35
如果数据库填报也可以,倒是有方法

有没有和3d模型的交互例子啊,跟客户沟通了下,用post请求也不行
作者: yhbi老6了    时间: 前天 15:41
隔壁小李 发表于 2024-11-12 15:39
有没有和3d模型的交互例子啊,跟客户沟通了下,用post请求也不行

get也可以啊,他们愿意提供接口给你交互就行

作者: 隔壁小李    时间: 前天 15:44
yhbi老6了 发表于 2024-11-12 15:41
get也可以啊,他们愿意提供接口给你交互就行

对接的是前端,这个是后端了,只提供了iframe通讯和websocket
作者: yhbi老6了    时间: 前天 15:49
隔壁小李 发表于 2024-11-12 15:44
对接的是前端,这个是后端了,只提供了iframe通讯和websocket

哈?用websocket通信不安全为由,劝他们给你封装个https。
作者: 隔壁小李    时间: 前天 15:59
yhbi老6了 发表于 2024-11-12 15:49
哈?用websocket通信不安全为由,劝他们给你封装个https。

封装个https干啥?  没懂
作者: 隔壁小李    时间: 昨天 08:48
yhbi老6了 发表于 2024-11-12 15:49
哈?用websocket通信不安全为由,劝他们给你封装个https。

求助
作者: yhbi老6了    时间: 昨天 10:08
隔壁小李 发表于 2024-11-13 08:48
求助

因为,bi 不支持 ws 通信,所以一个是没有办法解决了。或者你新开一个 web服务器 做 ws ,ifarme 进去
作者: 隔壁小李    时间: 昨天 11:51
本帖最后由 隔壁小李 于 2024-11-13 12:23 编辑
yhbi老6了 发表于 2024-11-13 10:08
因为,bi 不支持 ws 通信,所以一个是没有办法解决了。或者你新开一个 web服务器 做 ws ,ifarme 进去 ...

可不可以这样   我写个war封装ws  然后war放永洪tomcat下  再永洪调用war  war里通讯ws?
作者: 隔壁小李    时间: 昨天 15:37
yhbi老6了 发表于 2024-11-13 10:08
因为,bi 不支持 ws 通信,所以一个是没有办法解决了。或者你新开一个 web服务器 做 ws ,ifarme 进去 ...

求助 求助

作者: yhbi老6了    时间: 昨天 16:28
你研究一下这个文档对你有没有帮助
或许可以利用按钮的超链接触发向第三方系统传递参数,即帮助文件中的 自建函数updateForm,用超链接 javascript:updateForm
调用,说不定这个对js的支持度会高些
比如:javascript:sendMessage
  1. const socket = new WebSocket('ws://localhost:8080');  // 服务器地址和端口

  2. // 连接成功后触发
  3. socket.onopen = function(event) {
  4.     console.log('WebSocket is connected:', event);
  5.     // 发送数据到服务器
  6.     socket.send('Hello, Server!');
  7. };

  8. // 接收到服务器消息时触发
  9. socket.onmessage = function(event) {
  10.     console.log('Message from server: ', event.data);
  11. };

  12. // 连接关闭时触发
  13. socket.onclose = function(event) {
  14.     console.log('WebSocket connection closed:', event);
  15. };

  16. // 连接出错时触发
  17. socket.onerror = function(error) {
  18.     console.log('WebSocket Error:', error);
  19. };

  20. // 可以在任意时刻发送数据到服务器
  21. function sendMessage(message) {
  22.     if (socket.readyState === WebSocket.OPEN) {
  23.         socket.send(message);
  24.     } else {
  25.         console.log('WebSocket is not open');
  26.     }
  27. }
复制代码



https://www.yonghongtech.com/rea ... 9%E7%B3%BB%E7%BB%9F




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4