当前位置: 首页 > news >正文

永康市住房建设局网站百度写作助手

永康市住房建设局网站,百度写作助手,深圳市网站建设公司设计,我想学习做网站场景需求: 嵌入页面操作时,通知父级页面 涉及知识点: contextBridge 嵌入页面可使用暴露的对象ipc-message 监听嵌入页面发送的消息webview preload 嵌入页面运行加载的脚本 问题(两种方式) 使用监听ipc-message需…

场景需求:

  • 嵌入页面操作时,通知父级页面

涉及知识点:

  • contextBridge 嵌入页面可使用暴露的对象
  • ipc-message 监听嵌入页面发送的消息
  • webview preload 嵌入页面运行加载的脚本

问题(两种方式)

  1. 使用监听ipc-message需要在嵌入页面安装electron,需求不允许
  2. 使用contextBridge创建全局对象,无法接收消息

解决思路

contextBridge暴露ipcRenderer给嵌入页面使用,再用ipc-message监听收到的消息

父级页面

<webview v-if="webviewerUrl" ref="webviewRef" class="webview" src="D://child.html" allowp:preload="webViewerPreload()" nodeintegration plugins disablewebsecurity>
</webview>
<script lang="ts" setup>
const webviewRef = ref()
// 控制第三方页面操作栏
const initWebviewEvent= () => {webviewRef.value.addEventListener('dom-ready', () => {// webviewRef.value.openDevTools() //打开嵌入页面的控制台})// 在此监听事件中接收嵌入页面的消息webviewRef.value.addEventListener('ipc-message', function (event: any) {if (event.channel === 'closeWindow') {// 需要执行的代码}});
}
onMounted(() => {nextTick(() => {initWebviewEvent()})
})
onBeforeUnmount(() => {webviewRef.value.removeEventListener('dom-ready')webviewRef.value.removeEventListener('ipc-message')
})
</script>

preload引入本地文件(file:// 格式)

import path from 'path'
export const webViewerPreload = () => {if (process.env.NODE_ENV === 'production') {return path.join(__dirname, '/preload.js')} else {return path.resolve('./src/entries/webViewer/preload.js')}
}

preload.js 暴露ipcRenderer 到全局

const { contextBridge, ipcRenderer } = require('electron')
// 存储全局方法
contextBridge.exposeInMainWorld('electron', {ipcRenderer: ipcRenderer
})

嵌入页面 child.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>child</title>
</head>
<body><button onclick="closeWindow()">关闭窗口</button><script type="text/javascript">function closeWindow(){const ipcRenderer = window.electron.ipcRendereripcRenderer.sendToHost('closeWindow')}</script>
</body>
</html>

总结:两种方法看了很久都没法实现,后面突然想到可以结合起来,可以将嵌入页面的消息发送给父级,但是嵌入页面不能收消息,不知道怎么解决。

http://www.mnyf.cn/news/36510.html

相关文章:

  • 做网站 注意网站交易平台
  • 东莞哪里有做网站的在线客服系统
  • 跨境电商怎么做平台苏州网站关键词优化推广
  • 厦门商场网站建设长尾关键词挖掘网站
  • 张家港建设局网站搜资源的搜索引擎
  • 泰州做兼职的网站如何做推广宣传
  • 可以做哪些有趣的网站网站制作模板
  • 北京政府网官网网站怎么优化到首页
  • 响应式网站 手机版如何让别人在百度上搜到自己公司
  • 做网站套模板东莞企业网站模板建站
  • 俄罗斯b2b网站大全佛山本地网站建设
  • php电子商务网站开发优化课程体系
  • 电商网站的支付接入该怎么做呢站长工具网站
  • 网站开发可以用gif吗百度ai入口
  • 推荐网站建设推广拓客渠道有哪些
  • 163网站视频动做企业百度推广怎么收费
  • 建大型购物网站外贸推广营销公司
  • 个性定制网站四年级说新闻2023
  • 如何做公司建网站方案给公司北京seo网站设计
  • java 做直播网站有哪些软件有哪些网站推广经验
  • 企业网站建设采购全网推广平台
  • 做蛋糕的网站活动策划
  • 网站建设与管理知识点脑白金网络营销
  • 个人网站做哪些流程深圳百度推广属于哪家公司
  • 通用网址查询网站北京网站优化经理
  • dedecms 网站迁移百度推广如何办理
  • 湖南建设人力资源湖南网站建设百度竞价排名广告
  • 网站工程师简历百度推广客服电话
  • 广州seo优化方法杭州seo网络公司
  • 莱芜都市网招聘seo工资