%20%E6%96%B0%E5%A2%9E%E5%8F%83%E6%95%B8%EF%BC%9F.png)
我想在 Twitter URL 中添加一個參數(如果已有參數,則刪除該參數)
以此 URL 為例, https://twitter.com/RequestlyIO/status/1272478326838292488 它需要偵測名稱中包含「twitter」和路徑中包含「status」的 URL。
如果 URL 兩者都匹配,則應在末尾添加參數“?s=21”。
我有請求地 Chrome 擴充功能安裝在 Chrome 中並使用它來新增參數。
這樣我使用的另一個程式就能正常運作。 (緩衝)
這在 Firefox 中工作正常,但我在 3 個不同版本的 Chrome 中嘗試過,但它不起作用。
有任何想法嗎?
答案1
Chrome 擴充功能與 Service Worker 無法很好地配合。 Service Worker 發出的任何請求在 Chrome 擴充功能中都不可見,因此無法修改(或封鎖)。
例如 - 試試這個
建立重定向規則
Request URL
Contains
推特.com
Destination
https://stackoverflow.com
儲存並嘗試開啟 twitter.com。您將看到該規則不會執行重定向,因為 Twitter 已註冊一個 ServiceWorker,該 ServiceWorker 負責提供回應(來自磁碟快取)或來自網路。
看看這個截圖
為了繞過這個問題,您可以使用插入腳本規則,您可以在其中編寫一個小的自訂腳本,以便在 URL 條件匹配時執行重定向。
這是一個例子
這是您可以使用的程式碼
const currentURL = window.location.href.toLowerCase();
// match your condition here
// Also check the param is not already added to avoid infinite redirects
if (currentURL.indexOf('status') > -1 && currentURL.indexOf('requestlyio') > -1 && currentURL.indexOf('s=21') === -1) {
// Do the redirect here
window.location.href = currentURL + '?s=21'
}
這是插入腳本 SharedList 的鏈接
https://app.requestly.io/rules/#sharedList/1595750670410-add-parameter-to-twitter-status