go - 如何链接html
问题描述
我使用这个库来创建 GUI:github.com/Equanox/gotron 当我单击 html 按钮以使用用户名和密码运行 Go 代码时需要它。
你知道有什么办法吗?我试图用谷歌搜索它,但我没有找到任何与它相关的代码,可能是我搜索的方式错误。
我的代码:
package main
import (
"github.com/Equanox/gotron"
"log"
"os"
"text/template"
)
var tpl *template.Template
func LinkinInit() {
tpl = template.Must(template.ParseFiles("tpl.html"))
}
func main() {
// Create a new browser window instance
window, err := gotron.New()
if err != nil {
panic(err)
}
// Alter default window size and window title.
window.WindowOptions.Width = 720
window.WindowOptions.Height = 485
window.WindowOptions.Title = "Login APP"
// Start the browser window.
// This will establish a Go <=> nodejs bridge using websockets,
// to control ElectronBrowserWindow with our window object.
done, err := window.Start()
if err != nil {
panic(err)
}
<-done
}
解决方案
查看 Gotron 自述文件
https://github.com/Equanox/gotron#communicate-between-backend-and-frontend
后端:处理传入事件
window.On(&gotron.Event{Event: "event-name"}, func(bin []byte) {
//Handle event here
}
前端:发送事件到后端
ws.send(JSON.stringify({
"event": "event-name",
"AtrNameInFrontend": "Hello World!",
}))
推荐阅读
- google-app-engine - Google App Engine:应用引擎仪表板与计费导出之间的不可预测的成本和差异
- javascript - 为什么我没有必要的 jQuery DataTables 分页按钮?
- variables - 变量的SSIS值不变
- swift - 如何使用 Swift 找到一个免费的本地端口?
- ios - Xamarin 窗体停止屏幕截图并在 ios 中记录
- node.js - 如何将所有节点模块放入同一个目录?
- ios - 水平滚动集合视图在初始加载时部分隐藏第一个单元格内容
- asp.net-core - 如何将公共交通消费者连接到由不同应用程序创建的交易所
- .net-core - 使用 ClickOnce 部署的 .net 核心控制台应用程序:如何使其可用作命令行应用程序?
- hadoop - 我们如何利用 mapreduce 或 spark 将二和算法解决为大数据问题?