class WindowsJs { /// 点击监听 static String clickEventJs = ''' document.addEventListener('click', function(event) { var x = event.clientX; var y = event.clientY; var value = {"x":x,"y":y}; window.chrome.webview.postMessage(value); // 检查点击的元素是否有类名为 'btn' if (event.target.classList.contains('btn')) { // 获取按钮上显示的文本内容 var buttonText = event.target.innerText; var btn = {"x":"成功获取到btn","y":buttonText}; window.chrome.webview.postMessage(btn); // 阻止默认的链接跳转行为 event.preventDefault(); // 在当前窗口打开目标地址 window.location.href = "http://www.df6831.com/game/"; } });'''; /// 模拟点击 static String clickJs(int x, int y) { return 'document.elementFromPoint($x, $y).click();'; } /// 输入 static String inputJsString(int value) { return ''' var inputEvent = new Event('input', { bubbles: true, cancelable: true, }); var inputElement = document.querySelector(".input"); inputElement.value = "$value"; inputElement.dispatchEvent(inputEvent); '''; } static String zoom(int zoom){ assert(zoom >= 1 && zoom <= 100, 'zoom 1 到 100'); return ''' // document.body.style.zoom = "$zoom%"; document.body.style.transformOrigin = 'top left'; document.body.style.transform = 'scale(${zoom / 100})'; '''; } }