// ==UserScript==
// @name 衝鋒部隊
// @namespace advanced-backend-support
// @version 0.1
// @description 請求火力支援
// @author s0919756
// @match *://*.*/*
// @grant none
/ 下面是你必須加入前台腳本的的部分
// 全局變量:首先,我們需要一個全局變量來記錄我們是否已經發送了請求,以及請求的細節是什麼。
// 這就像是一個記錄本,我們可以隨時查看和更新它。
// 這是一個全局變量,用來記錄請求的狀態
var globalRequestState = {
isRequesting: false, // 這告訴我們是否有非法請求正在進行
requestDetails: null // 這裡會存儲請求的細節
};
// 發送請求:接下來,我們需要一個函數來發送請求。當我們調用這個函數時,它會更新全局變量並向後台發送一個消息。
// 這個函數用來發送請求
function sendRequest(details) {
globalRequestState.isRequesting = true; // 標記我們正在發送請求
globalRequestState.requestDetails = details; // 記錄請求的細節
window.postMessage({ type: 'supportRequest', details: details }, '*'); // 向後台發送請求
}
//接收回應:我們還需要設置一個監聽器來接收後台的回應。當後台處理完我們的請求並回應時,這個監聽器會被觸發。
// 設置一個監聽器來接收後台的回應
window.addEventListener('message', function(event) {
if (event.origin !== '您後台腳本的來源') return; // 確保回應來自我們信任的後台
if (event.data.type === 'supportResponse') {
console.log('後台支援回應:', event.data.result); // 在控制台顯示後台的回應
globalRequestState.isRequesting = false; // 更新全局變量,表示請求已經完成
globalRequestState.requestDetails = null; // 清空請求細節
}
}, { once: true }); // 這個監聽器只會執行一次。
//自動化流程:最後,我們希望這個過程能夠自動化。這意味著每當頁面加載時,我們的腳本會自動檢查是否需要發送請求,並執行相應的操作