6.Electron之BrowserView嵌入子视图

简介: 6.Electron之BrowserView嵌入子视图

一、核心代码

app.on('ready', () => { //app初始化参数
    mainWindow = new BrowserWindow({
        windth: 1200,
        height: 800,
        webPreferences: {
            nodeIntegration: true, //使用node功能
            contextIsolation: false,
            enableRemoteModule: true
        }
    })
    mainWindow.webContents.openDevTools() //默认打开调试模式    
    mainWindow.loadFile('index.html') //打开窗口加载的页面
 
    let BrowserView=electron.BrowserView 
    let view=new BrowserView //创建子视图
    mainWindow.setBrowserView(view) //将子视图嵌入到父窗口
    view.setBounds({  //设置坐标、宽度、长度
        x:0,
        y:50,
        width:1000,
        height:600
    })
 
    view.webContents.loadURL("https://up.enterdesk.com/photo/2008-6-13/200806131108306030.jpg") //设置子窗口加载的链接
    mainWindow.on('close', () => { //窗口关闭时,释放页面
        mainWindow = null
    })
})

二、全部代码

index.js

const electron = require('electron') //引入electron组件
var app = electron.app //引入组件app
var BrowserWindow = electron.BrowserWindow //窗口引用
 
var mainWindow = null //申明打开窗口
 
app.on('ready', () => { //app初始化参数
    mainWindow = new BrowserWindow({
        windth: 1200,
        height: 800,
        webPreferences: {
            nodeIntegration: true, //使用node功能
            contextIsolation: false,
            enableRemoteModule: true
        }
    })
    mainWindow.webContents.openDevTools() //默认打开调试模式    
    mainWindow.loadFile('index.html') //打开窗口加载的页面
 
    let BrowserView=electron.BrowserView 
    let view=new BrowserView //创建子视图
    mainWindow.setBrowserView(view) //将子视图嵌入到父窗口
    view.setBounds({  //设置坐标、宽度、长度
        x:0,
        y:50,
        width:1000,
        height:600
    })
 
    view.webContents.loadURL("https://up.enterdesk.com/photo/2008-6-13/200806131108306030.jpg") //设置子窗口加载的链接
    mainWindow.on('close', () => { //窗口关闭时,释放页面
        mainWindow = null
    })
})

index.html

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
 
<body>
    <button id="mybtn">打开子窗口</button>
    <script src="./render/index.js"></script>
</body>
 
</html>

/render/index.js

var mybtn = document.querySelector('#mybtn')
mybtn.onclick = function (e) {
    window.open("https://www.baidu.com")
}

三、测试

目录
相关文章
|
2月前
Flutter 组件(二)文本 与 输入框组件
Flutter 组件(二)文本 与 输入框组件
157 0
|
2月前
|
iOS开发
Xcode强大的多视图立体分层显示View UI Herarchy
Xcode强大的多视图立体分层显示View UI Herarchy
25 0
|
8月前
|
API 图形学
[√]unity渲染一个文本的细节
[√]unity渲染一个文本的细节
61 0
|
11月前
|
前端开发
ant design子组件渲染不能及时渲染
ant design子组件渲染不能及时渲染
58 0
|
11月前
|
C++
利用Flutter的LayoutBuilder、BoxConstraints创建自适应布局控件
利用Flutter的LayoutBuilder、BoxConstraints创建自适应布局控件
|
Dart IDE 开发工具
Flutter 基础 | 控件 & 布局(一)
Flutter 基础 | 控件 & 布局(一)
213 0
|
存储 IDE 测试技术
在 Flutter 中构建图像选择器【Flutter 专题 9】
什么是 Flutter 中的image_picker? 在 Flutter 中从头开始编写图片选择器小部件会很乏味。Flutter 带有一个图片选择器插件,用于从设备图库中选择图片或从相机拍摄新照片。
944 0
在 Flutter 中构建图像选择器【Flutter 专题 9】
flutter系列之:深入理解布局的基础constraints
我们在flutter中使用layout的时候需要经常对组件进行一些大小的限制,这种限制就叫做constraints,用来控制layout中的组件大小。 掌握了constraints才算对layout有了真正的了解,但是flutter中的constraints和我们熟悉的HTML中的constraints区别比较大,所以我们还是需要深入了解flutter中contraints的特性。
flutter系列之:深入理解布局的基础constraints
|
前端开发 Android开发 iOS开发
Day07 - Flutter 小部件的布局
Day07 - Flutter 小部件的布局
114 0
Day07 - Flutter 小部件的布局

热门文章

最新文章