码迷,mamicode.com
首页 > Web开发 > 详细

electron WebView向子页面出啊地数据的方法

时间:2017-06-25 13:20:08      阅读:932      评论:0      收藏:0      [点我收藏+]

标签:cti   序列   rem   tools   框架   get   com   show   sse   

我用到了2种方式, 

1.和浏览器里一样通过 URL或是llocalstorage 等等

2.我也是刚接触electron 没几天, 就查到了一种方式  通过webContents监听did-finish-load,然后send().

文档上是这么讲的

Event: ‘did-finish-load‘

当导航完成时发出事件,onload 事件也完成.

 

然后在这个监听里面写  webContents.send();

webContents.send(channel[, arg1][, arg2][, ...])

  • channel String
  • arg (可选)

通过 channel 发送异步消息给渲染进程,你也可发送任意的参数.参数应该在 JSON 内部序列化,并且此后没有函数或原形链被包括了.

渲染进程可以通过使用 ipcRenderer 监听 channel 来处理消息

 

 function showDetailPage(index) {
 	try {
        let win = new BrowserWindow({
                    width: 800,
                    height: 500,
                    show: false,
                    maximizable: false,
                    minimizable: false,
                    resizable: false,
                    useContentSize: true,
                    //parent: currentWindow,
                    modal: false
                });
				
        		let dataJson=JSON.stringify(dataSource.data());
                // win.webContents.openDevTools();
                win.on(‘closed‘, function () { win = null })
                win.loadURL(‘file://‘ + __dirname + ‘/AnnouncementDetail.html?index=‘+index)//指定渲染的页面
                win.webContents.on(‘did-finish-load‘, function(){
			        win.webContents.send(‘dataJsonPort‘, dataJson);
			    });
                win.show();//打开一个窗口
  				win.webContents.openDevTools();

        // Open in Windows Client.
        //bound.openReportDetailPage(JSON.stringify(dataSource.data()), index);
      } catch(e) {

        console.log(e);
      }
    }

 这里发送了数据 dataJson,在子页面用

     remote,
        ipcRenderer
    } = require(‘electron‘);
    const BrowserWindow = require(‘electron‘).remote.BrowserWindow;
    const currentWindow = remote.getCurrentWindow();
        pIndex = getQueryUrlString(‘index‘);
    ipcRenderer.on(‘dataJsonPort‘, function(event, message) { // 监听父页面定义的端口
        initTable(message, pIndex); 把数据传给函数 initTable
    });

  

我也刚接触这个框架, 如果有不对的地方,还请大家多多交流

 

 

electron WebView向子页面出啊地数据的方法

标签:cti   序列   rem   tools   框架   get   com   show   sse   

原文地址:http://www.cnblogs.com/xuhongli/p/7076533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!