1 Star 0 Fork 1

w4xj/webview

forked from 归位/webview 
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
main.go 1.75 KB
一键复制 编辑 原始数据 按行查看 历史
Serge A. Zaitsev 提交于 2017-11-03 05:25 +08:00 . example: fix formatting
package main
import (
"io/ioutil"
"log"
"net"
"net/http"
"net/url"
"os"
"path/filepath"
"github.com/zserge/webview"
)
var indexHTML = `
<!doctype html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<h1>Hello, world</h1>
</body>
</html>
`
func runLocalHTTP() {
ln, err := net.Listen("tcp", "127.0.0.1:0")
if err != nil {
log.Fatal(err)
}
go func() {
defer ln.Close()
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(indexHTML))
})
log.Fatal(http.Serve(ln, nil))
}()
url := "http://" + ln.Addr().String()
w := webview.New(webview.Settings{
Title: "Loaded: Local HTTP Server",
URL: url,
})
defer w.Exit()
w.Run()
}
func runLocalFile() {
dir, err := ioutil.TempDir("", "webview")
if err != nil {
log.Fatal(err)
}
defer os.RemoveAll(dir)
tmpfn := filepath.Join(dir, "index.html")
if err := ioutil.WriteFile(tmpfn, []byte(indexHTML), 0666); err != nil {
log.Fatal(err)
}
abs, err := filepath.Abs(tmpfn)
if err != nil {
log.Fatal(err)
}
log.Println("local tmp file: ", abs)
w := webview.New(webview.Settings{
Title: "Loaded: Local file URL",
URL: "file://" + abs,
})
defer w.Exit()
w.Run()
}
func runDataURL() {
w := webview.New(webview.Settings{
Title: "Loaded: Data URL",
URL: "data:text/html," + url.PathEscape(indexHTML),
})
defer w.Exit()
w.Run()
}
func runInjectJS() {
w := webview.New(webview.Settings{
Title: "Loaded: Injected via JavaScript",
URL: `data:text/html,<html><script type="text/javascript"></script></html>`,
})
defer w.Exit()
w.Dispatch(func() {
w.Eval(`document.body.innerHTML = "<h1>Hello, world</h1>";`)
})
w.Run()
}
func main() {
runLocalHTTP()
//runLocalFile()
//runDataURL()
//runInjectJS()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/w4xj/webview.git
git@gitee.com:w4xj/webview.git
w4xj
webview
webview
9c1b0a888aa4

搜索帮助