我试图在初始BrowserWindow加载时将焦点设置在Electron中的控件上。
我知道有其他方法可以通过jQuery,JavaScript等来实现这一点,但Electron框架是否提供了一些特定的东西?
我尝试使用jQuery / JavaScript集中控件,但它们似乎不适用于Electron。
这是我在条目JS文件app.js中设置Electron的代码: -
const electron = require('electron');
const path = require('path');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
nativeImage.createFromPath(path.join(__dirname,"demo.png"))
app.on('ready', () => {
window = new BrowserWindow({
width: 650,
height: 120,
transparent:true,
frame: false,
});
window.loadURL(`file://${__dirname}/Wepage.html`);
});
这是我的HTML:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#googleFrame').focus();
});
</script>
<style>
body {
width: 300px;
height:100px;
margin: 0px;
padding: 0px;
overflow-x: hidden;
/* overflow-y: hidden; */
}
iframe {
position: relative;
overflow: hidden;
}
body {
background: transparent;
background: rgba(255, 255, 255, 0.1);
}
iframe {
top: 450px;
border: 20px solid black;
opacity: 0.1;
}
.draggable-area {
-webkit-app-region: drag;
}
</style>
</head>
<body class="draggable-area">
<center class="draggable-area">
<iframe frameborder="0" scrolling="no" seamless="seamless"
src="https://www.google.com"
width="600" height="60"
id="googleFrame"></iframe>
</center>
</body>
</html>
关于ElectronJs“观点”没什么特别的,它只是常规的html,css和javascript。
你确定你的代码正在执行吗?在关闭body标签后把它放进去有点奇怪。
您是否尝试将重点放在其他内容上,例如制作一个按钮元素并尝试专注于它?
你可以使用自动对焦
<iframe frameborder="0" scrolling="no" seamless="seamless"
src="https://www.google.com"
width="600" height="60"
id="googleFrame" autofocus ></iframe>