106 lines
2.8 KiB
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});';
|
|
|
|
}
|