如何使用 Chrome 擴充功能向網站 (Twitter) 新增參數?

如何使用 Chrome 擴充功能向網站 (Twitter) 新增參數?

我想在 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

相關內容