web_synchronization_tool/lib/windows/windowsJs.dart

106 lines
2.8 KiB
Dart

class WindowsJs {
/// 点击监听
static String clickEventJs = '''
document.addEventListener("click", function (event) {
var x = event.clientX;
var y = event.clientY;
var click = { "x": x, "y": y };
var value = { click: click };
// 发送消息
window.chrome.webview.postMessage(value);
window.chrome.webview.postMessage({"text":event.target.textContent,"end":event.target.textContent === "进入游戏"});
// 检查点击的元素是否有类名为 'btn'
if (event.target.textContent === "进入游戏") {
// 获取按钮上显示的文本内容
window.chrome.webview.postMessage({ "成功获取到btn": 1 });
// window.chrome.webview.postMessage({ "btn": event.target.textContent });
// 阻止默认的链接跳转行为
event.preventDefault();
var oldUrl = window.location.href;
var classUrl = event.target.href;
var str = oldUrl;
var startIndex = str.indexOf('www.');
var endIndex = str.indexOf('/', startIndex);
var url = str.substring(startIndex, endIndex);
var newUrl = "https://" + url + "/game/";
window.chrome.webview.postMessage({"元素地址": classUrl ,"旧地址":window.location.href ,"截取":url,"新地址": newUrl});
// 在当前窗口打开目标地址
// window.location.href = "http://www.df6831.com/game/";
window.location.href = newUrl;
}
});
''';
/// 滚动监听
static String scrollEventJs = '''
window.onscroll = function() {
// 获取垂直滚动位置
var scrollTop = window.scrollY;
window.chrome.webview.postMessage({"scroll": 1 ,"y": scrollTop });
};
''';
/// 滚动到
static String scrollTo(int value){
return '''
window.scrollTo({
top: $value,
behavior: 'smooth' // 可选,设置滚动行为为平滑滚动
});
''';
}
/// 模拟点击
static String clickJs(double x, double y) {
return 'document.elementFromPoint($x, $y).click();';
}
/// 输入
static String inputJs(int value) {
return '''
var inputEvent = new Event('input', {
bubbles: true,
cancelable: true,
});
var inputElement = document.querySelector(".bet-money");
inputElement.value = "$value";
inputElement.dispatchEvent(inputEvent);
''';
}
/// 监听加载,在加载完成后缩放
static String onloadZoom(int zoom){
assert(zoom >= 1 && zoom <= 100, 'zoom 1 到 100');
return '''
window.onload = function () {
var currentUrl = window.location.href;
if (currentUrl.endsWith('game/')) {
${WindowsJs.zoom(zoom)}
}
};
''';
}
/// 修改缩放
static String zoom(int zoom){
assert(zoom >= 1 && zoom <= 100, 'zoom 1 到 100');
return '''
document.body.style.zoom = "$zoom%";
''';
}
static String message = 'window.chrome.webview.postMessage({x:3333});';
}