Chrome 확장 프로그램을 사용하여 웹사이트(Twitter)에 매개변수를 추가하는 방법은 무엇입니까?

Chrome 확장 프로그램을 사용하여 웹사이트(Twitter)에 매개변수를 추가하는 방법은 무엇입니까?

Twitter URL에 매개변수를 추가하고 싶습니다(이미 있는 경우 매개변수 제거).

이 URL을 예로 사용하면, https://twitter.com/RequestlyIO/status/1272478326838292488 이름에 "twitter"가 있고 경로에 "status"가 있는 URL을 감지해야 합니다.

URL이 둘 다 일치하는 경우 "?s=21" 매개변수를 끝에 추가해야 합니다.

나는 가지고있다요청에 따라 크롬 확장 프로그램Chrome에 설치하고 이를 사용하여 매개변수를 추가합니다.

이는 내가 사용하는 다른 프로그램이 올바르게 작동하도록 하기 위한 것입니다. (완충기)

이것은 Firefox에서는 잘 작동하지만 3가지 다른 Chrome 버전에서 시도했지만 작동하지 않습니다.

어떤 아이디어가 있나요?

답변1

Chrome 확장 프로그램은 서비스 워커와 잘 작동하지 않습니다. 서비스 워커의 요청은 Chrome 확장 프로그램 내부에 표시되지 않으므로 수정(또는 차단)할 수 없습니다.

예를 들어 - 이것을 시도해 보세요

리디렉션 규칙 만들기

Request URL Contains트위터.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'
}

다음은 삽입 스크립트 SharedList의 링크입니다.

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

관련 정보