如何使用 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 Workers 配合得并不好。Service Workers 发出的任何请求在 Chrome 扩展程序中都是不可见的,因此无法修改(或阻止)。

例如-试试这个

创建重定向规则

Request URL Containstwitter.com

Destination https://stackoverflow.com

在此处输入图片描述

保存并尝试打开 twitter.com。您将看到规则不会执行重定向,因为 Twitter 已注册一个 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'
}

这是插入脚本共享列表的链接

https://app.requestly.io/rules/#sharedList/1595750670410-add-parameter-to-twitter-status

相关内容