electron 标签webview

作用:
	将网页内嵌到桌面客户端程序中,可以对引入的网页进行自定义操作,如注入脚本、css等
	
用法:
	在main.js中,webPreferences中添加:webviewTag:true
	<webview src='网页url' />
	
常用事件:
	webview对象.addEventListener('did-start-loading',回调);  网页加载前回调
	wenview对象.addEventListener('did-stop-loading',回调);  网页加载完成后回调

对网页扩展额外脚本
	 <webview src='url' preload='js文件' />

对网页注入css和js
	括号内的字符串由,``反引号阔起来
	
	 webview.insertCSS(`和style中css一样的格式,选择器选择`); css属性可以末尾添加!important增加权重
     webview.executeJavaScript(``);

文档

代码示例:
额外扩展脚本:

setTimeout(function(){
   document.body.style.backgroundColor="red";
},2000)

网页:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
    <meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; script-src 'self'">
    <title>Hello World!</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <h1>Hello World!</h1>

    <div class='box'>
      <span class='sp'></span>
      //引入
      <webview src='https://www.baidu.com/' preload='./js/webView.js' class='wb' />  
    </div>

    <!-- You can also require other files to run in this process -->
    <script src="./renderer.js"></script>
  </body>
</html>

renderer.js


var view=document.querySelector('.wb');
var sp=document.querySelector('.sp');

view.addEventListener('did-start-loading',function(){
    sp.innerHTML='loading';

})

view.addEventListener('did-stop-loading',function(){
    sp.innerHTML='done';

    view.insertCSS(`
        #su{
            background-color:green !important; 
        }
    `);

    view.executeJavaScript(`
        alert(document.querySelector("#su").value);
    `);

    view.openDevTools();
})




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值