Skip to Content
博客如何使用Chrome外掛中進行自訂請求頭修改?

如何使用Chrome外掛中進行自訂請求頭修改?

當前的「chrome extension」是基於 mv3 版本構建的,所以採用的方案與mv2版本不相同。

📝 如何實現

👉 進行攔截

const RULE_ID = 10000; ... chrome.declarativeNetRequest.updateDynamicRules({ removeRuleIds: [ RULE_ID ], addRules: [ { id: RULE_ID, priority: 1, action: { type: chrome.declarativeNetRequest.RuleActionType.MODIFY_HEADERS, requestHeaders: [ { header: "CUSTOM-HEADER", operation: chrome.declarativeNetRequest.HeaderOperation.SET, value: "CUSTOME-VALUE" } ] }, condition: { requestDomains: urls, resourceTypes: [ // 把所有的功能都羅列出來 chrome.declarativeNetRequest.ResourceType.MAIN_FRAME, chrome.declarativeNetRequest.ResourceType.SUB_FRAME, chrome.declarativeNetRequest.ResourceType.STYLESHEET, chrome.declarativeNetRequest.ResourceType.SCRIPT, chrome.declarativeNetRequest.ResourceType.IMAGE, chrome.declarativeNetRequest.ResourceType.FONT, chrome.declarativeNetRequest.ResourceType.OBJECT, chrome.declarativeNetRequest.ResourceType.XMLHTTPREQUEST, chrome.declarativeNetRequest.ResourceType.PING, chrome.declarativeNetRequest.ResourceType.CSP_REPORT, chrome.declarativeNetRequest.ResourceType.MEDIA, chrome.declarativeNetRequest.ResourceType.WEBSOCKET, chrome.declarativeNetRequest.ResourceType.OTHER ] } } ] }) ...

👉 取消攔截

chrome.declarativeNetRequest.updateDynamicRules({ removeRuleIds: [ RULE_ID ], addRules: [] })

🤗 發現問題

以上問題在補充對應字段即可。

📎 參考文章

chrome.declarativeNetRequest - Chrome for Developers 

最後更新於