代码拉取完成,页面将自动刷新
package main
import (
"fmt"
gm "gitee.com/aochulai/GoMiniblink"
fm "gitee.com/aochulai/GoMiniblink/forms"
cs "gitee.com/aochulai/GoMiniblink/forms/controls"
"gitee.com/aochulai/GoMiniblink/forms/controls/MsgBox"
gw "gitee.com/aochulai/GoMiniblink/forms/windows"
)
func main() {
cs.App = new(gw.Provider).Init()
cs.App.SetIcon("app.ico")
//一个普通的窗体
frm := new(cs.Form).Init()
frm.SetTitle("JS互操作")
frm.SetSize(800, 500)
mb := new(gm.MiniblinkBrowser).Init()
mb.SetAnchor(fm.AnchorStyle_Fill)
mb.ResourceLoader = append(mb.ResourceLoader, new(gm.FileLoader).Init("Res", "local"))
mb.EvConsole["打印js控制台内容"] = func(_ *gm.MiniblinkBrowser, e gm.ConsoleEvArgs) {
fmt.Println("js console:", e.Message())
}
mb.EvDocumentReady["调用html中的js函数"] = func(s *gm.MiniblinkBrowser, e gm.DocumentReadyEvArgs) {
//调用func_1
mb.CallJsFunc("func_1", "张三", 18)
//获取func_2返回的基础数据类型
f2rs := mb.CallJsFunc("func_2")
MsgBox.ShowInfo("func_2 result is", f2rs.(string))
//向func_3传递一个go函数
mb.CallJsFunc("func_3", func(n1, n2 float64) int {
//此结果会在js中打印
return int(n1) * int(n2)
})
//获取func_4返回的非基本数据类型
f4rs := mb.CallJsFunc("func_4").(map[string]interface{})
MsgBox.ShowWarn("func_4 result is", fmt.Sprint(f4rs))
//获取并调用func_5返回的js函数
fn := mb.CallJsFunc("func_5").(gm.JsFunc)
fn("王老五")
}
frm.AddChild(mb)
frm.EvLoad["加载内容"] = func(s cs.GUI) {
mb.LoadUri("https://local/call_js.html")
}
cs.Run(frm)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。