Documentation ¶
Overview ¶
Example ¶
w := New(true) defer w.Destroy() w.SetTitle("Hello") w.Bind("noop", func() string { log.Println("hello") return "hello" }) w.Bind("add", func(a, b int) int { return a + b }) w.Bind("quit", func() { w.Terminate() }) w.Navigate(`data:text/html, <!doctype html> <html> <body>hello</body> <script> window.onload = function() { document.body.innerText = ` + "`hello, ${navigator.userAgent}`" + `; noop().then(function(res) { console.log('noop res', res); add(1, 2).then(function(res) { console.log('add res', res); quit(); }); }); }; </script> </html> )`) w.Run()
Output:
Index ¶
Examples ¶
Constants ¶
View Source
const ( // Width and height are default size HintNone = C.WEBVIEW_HINT_NONE // Window size can not be changed by a user HintFixed = C.WEBVIEW_HINT_FIXED // Width and height are minimum bounds HintMin = C.WEBVIEW_HINT_MIN // Width and height are maximum bounds HintMax = C.WEBVIEW_HINT_MAX )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type WebView ¶
type WebView interface { // Run runs the main loop until it's terminated. After this function exits - // you must destroy the webview. Run() // Terminate stops the main loop. It is safe to call this function from // a background thread. Terminate() // Dispatch posts a function to be executed on the main thread. You normally // do not need to call this function, unless you want to tweak the native // window. Dispatch(f func()) // Destroy destroys a webview and closes the native window. Destroy() // Window returns a native window handle pointer. When using GTK backend the // pointer is GtkWindow pointer, when using Cocoa backend the pointer is // NSWindow pointer, when using Win32 backend the pointer is HWND pointer. Window() unsafe.Pointer // SetTitle updates the title of the native window. Must be called from the UI // thread. SetTitle(title string) // SetSize updates native window size. See Hint constants. SetSize(w int, h int, hint Hint) // "data:text/text,<html>...</html>". It is often ok not to url-encode it // properly, webview will re-encode it for you. Navigate(url string) // Init injects JavaScript code at the initialization of the new page. Every // time the webview will open a the new page - this initialization code will // be executed. It is guaranteed that code is executed before window.onload. Init(js string) // Eval evaluates arbitrary JavaScript code. Evaluation happens asynchronously, // also the result of the expression is ignored. Use RPC bindings if you want // to receive notifications about the results of the evaluation. Eval(js string) // Bind binds a callback function so that it will appear under the given name // as a global JavaScript function. Internally it uses webview_init(). // Callback receives a request string and a user-provided argument pointer. // Request string is a JSON array of all the arguments passed to the // JavaScript function. // // f must be a function // f must return either value and error or just error Bind(name string, f interface{}) error }
func New ¶
New calls NewWindow to create a new window and a new webview instance. If debug is non-zero - developer tools will be enabled (if the platform supports them).
func NewWindow ¶
NewWindow creates a new webview instance. If debug is non-zero - developer tools will be enabled (if the platform supports them). Window parameter can be a pointer to the native window handle. If it's non-null - then child WebView is embedded into the given parent window. Otherwise a new window is created. Depending on the platform, a GtkWindow, NSWindow or HWND pointer can be passed here.
Click to show internal directories.
Click to hide internal directories.