登录
首页 >  Golang >  Go问答

Webview 窗口中无法执行 JavaScript 函数

来源:stackoverflow

时间:2024-02-19 16:42:25 417浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《Webview 窗口中无法执行 JavaScript 函数》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我是网络前端方法的新手。因此,当您需要更多信息时,请询问。

我有一个带有 go 后端和 html/css/js 前端的应用程序,效果相当好。最近,我尝试过渡到 webview,它在 html 和 css 部分也工作得很好。但是,我的 javascript 函数不起作用,我很不知道如何解决该问题。

这是一个独立的、最小的示例,它演示了该问题。 web 视图窗口打开并显示标题和按钮。但是,单击该按钮不会打开警报对话框。

非常感谢任何为我指明正确方向的提示。

package main

import (
    "github.com/webview/webview"
    "html/template"
    "net/http"
)

type DummyData struct {
     PageTitle string
}

func main() {
    go start()
    w := webview.New(true)
    defer w.Destroy()
    w.SetTitle("Test webview")
    w.SetSize(800, 600, webview.HintNone)
    w.Navigate("http://localhost:80")
    w.Run()
}

func start() {
    tmpl, _ := template.New("lala").Parse("

{{.PageTitle}}

\n") http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { data := DummyData{ PageTitle: "My webview page title", } tmpl.Execute(w, data) }) http.ListenAndServe(":80", nil) }

正确答案


实际上你的 js 函数确实有效,只是警报不起作用。不太清楚为什么,但我认为警报、确认和提示不会再受到人们的喜爱。

这在这里有效:

package main

import (
    "html/template"
    "net/http"

    "github.com/webview/webview"
)

type DummyData struct {
    PageTitle string
}

func main() {
    go start()
    w := webview.New(true)
    defer w.Destroy()
    w.SetTitle("Test webview")
    w.SetSize(800, 600, webview.HintNone)
    w.Navigate("http://localhost:8000")
    w.Run()
}

func start() {
    const page = `
    
    
        

{{.PageTitle}}

` tmpl, _ := template.New("lala").Parse(page) http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { data := DummyData{ PageTitle: "My webview page title", } tmpl.Execute(w, data) }) http.ListenAndServe(":8000", nil) }

以上就是《Webview 窗口中无法执行 JavaScript 函数》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>