提示:



基础

操作类型:



读写quicker变量

Quicker中使用WebView2组件的AddHostObjectToScript接口注入“v" (v表示variables,变量)

异步操作方式:

// 注入的对象
let v = await window.chrome.webview.hostObjects.v;
// 读取变量
let varValue = await v.getVar("变量名");
// 写入变量
await v.setVar("变量名", newValue);

同步操作方式:

// 读取变量
let varValue = chrome.webview.hostObjects.sync.v.getVar("text");
// 写入变量
chrome.webview.hostObjects.sync.v.setVar("text", "Hello world from js code");

示例动作:



读写变量操作支持简单变量(数字/文本以及列表变量)。

词典变量在读取时自动转换为json文本数据。词典变量不支持通过setVar方法写入。



词典变量的操作

在js中无法直接操作词典变量。


为词典变量赋予一个完整的新值

//setDictByJson(变量名, json内容)
chrome.webview.hostObjects.sync.v.setDictByJson("dict", "{a: 1, b: 2}");

为词典的某个key赋值:

//setDictItemValue(词典变量名,键名,值)
chrome.webview.hostObjects.sync.v.setDictItemValue("dict", "c", 3);

获取词典的某个键的值:

// 返回词典的某个键的值getDictItemValue(词典变量名,键名)
var value = chrome.webview.hostObjects.sync.v.getDictItemValue("dict","c");


已知问题

1)在高分辨率屏幕上,窗口初始显示时,浏览器组件可能不能铺满整个屏幕。

image.png


【待编写】



js 交互

https://github.com/MicrosoftEdge/WebViewFeedback/issues/199

https://github.com/MicrosoftEdge/WebViewFeedback/issues/175

AddHostObjectToScript https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/0-9-488/icorewebview2#addhostobjecttoscript