我正在尝试制作一个电子程序,该程序可以将TextArea的文本记录在HTML文件中,但是由于某种原因,我遇到此错误:
(节点:8664)UnhandledPromiseRejectionWarning:TypeError:mainWindowHTML.getTextAreaText不是函数 在Object.module.exports.Save(C:\ Users \ user \ Documents \ JavaScript \ node.js \ Electron \ INTERFACE_EDITOR \ menuScripts.js:12:33) 单击时(C:\ Users \ user \ Documents \ JavaScript \ node.js \ Electron \ INTERFACE_EDITOR \ index.js:36:37) 在MenuItem.click上(C:\ Users \ user \ Documents \ JavaScript \ node.js \ Electron \ INTERFACE_EDITOR \ node_modules \ electron \ dist \ resources \ electron.asar \ browser \ api \ menu-item.js:55:9) 在Function.executeCommand(C:\ Users \ user \ Documents \ JavaScript \ node.js \ Electron \ INTERFACE_EDITOR \ node_modules \ electron \ dist \ resources \ electron.asar \ browser \ api \ menu.js:30:13) (节点:8664)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。引发此错误的原因可能是抛出了一个没有catch块的异步函数,或者是拒绝了一个.catch()无法处理的承诺。 (拒绝ID:1) (节点:8664)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。
在我的主类中,我基本上将HTML文件加载到可以正常工作的浏览器窗口中,并且当单击菜单项时,它将调用menuScripts.js脚本的这一部分:
const url = require('url');
const path = require('path');
module.exports.Save = async(dialog) => {
const mainWindowHTML = url.format({
pathname: path.join(__dirname , "./htmls/MainWindow.html"),
protocol: "file",
slashes: true
});
const text = mainWindowHTML.getTextAreaText();
console.log(text);
}
module.exports.New = async(dialog) => {
}
module.exports.Exit = async(window) => {
window.close();
}
这是我的MainWindow.html文件:
<html lang="en">
<head>
<title>document</title>
</head>
<body>
<textarea id="code" cols="30" rows="10"></textarea>
</body>
<script>
module.exports.getTextAreaText = async() => {
return (document.getElementById("code").innerText)
}
</script>
</html>
答案 0 :(得分:0)
你不能只是做
<html lang="en">
<head>
<title>document</title>
</head>
<body>
<textarea id="code" cols="30" rows="10"></textarea>
<script src="menuScripts.js"></script>
</body>
</html>
和menuScripts.js:
const url = require('url');
const path = require('path');
module.exports.Save = async(dialog) => {
const mainWindowHTML = url.format({
pathname: path.join(__dirname , "./htmls/MainWindow.html"),
protocol: "file",
slashes: true
});
const text = document.getElementById("code").innerText;
console.log(text);
}
module.exports.New = async(dialog) => {
}
module.exports.Exit = async(window) => {
window.close();
}
答案 1 :(得分:0)
好吧,好吧,我使用ipcRenderer解决了问题,而不是导出实际上没有用的功能。我真的很感谢尝试帮助的人!