57 lines
1.5 KiB
Dart
57 lines
1.5 KiB
Dart
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})';
|
|
''';
|
|
}
|
|
|
|
}
|