% s 대신 %를 사용하여 공백을 이스케이프하도록 강제 함 다음 검색 URL을 설정했습니다. http://metacritic.com/search/all/%s/results 불행히도, 다음과

mc를 Chrome의 metacritic.com에 대한 검색 바로 가기로 사용하고 싶습니다. 바로 가기에 다음 검색 URL을 설정했습니다.

http://metacritic.com/search/all/%s/results

불행히도, 다음과 같이 귀족 III을 검색 할 때

mc patrcian iii

Chrome은이 쿼리를 생성합니다.이 쿼리는 메타 크리트가 잘못 해석하여 쓸모없는 관련없는 결과 집합을 생성합니다.

http://www.metacritic.com/search/all/patrician%20iii/results

Metacritic 은이 쿼리를 좋아하여 찾고 있던 결과를 정확하게 제공합니다.

http://www.metacritic.com/search/all/patrician+iii/results

URL로 인코딩 된 공백 대신 더하기 기호를 사용하도록 Chrome을 강제 실행하려면 어떻게해야하나요?



답변

다소 조잡하지만 메타 크리틱 (또는 원하는 경우 다른 사이트)에 맞게 URL을 조정하는 간단한 Chrome 확장 프로그램을 만들 수 있습니다.

Metacritic Search URL Replace 확장에 사용한 코드는 다음과 같습니다.

manifest.json :

{
    "content_scripts": [ {
    "include_globs": [ "http://www.metacritic.com/search/*%20*" ],
    "js": [ "script.js" ],
        "matches": [ "http://*/*", "https://*/*" ],
        "run_at": "document_start"
    } ],
    "converted_from_user_script": true,
    "description": "Replaces '%20' in metacritic search request to '+'",
    "name": "Metacritic search replacer",
    "version": "0.1"
}

script.js :

window.location = window.location.href.replace(/%20/g, "+");

확장 프로그램을 업로드 할만한 확실한 위치가 없기 때문에 다음 두 파일을 사용하여 Chrome 확장 프로그램을 만드는 방법은 다음과 같습니다.

먼저, 두 파일을 somehwere 폴더에 넣고 chrome : // extensions로 이동하십시오. 개발자 모드가 활성화되어 있는지 확인하십시오 (페이지 오른쪽 상단에서 활성화). 여기서 ‘Pack extension ..’을 선택하면 스크립트가있는 폴더를 묻습니다. 이 폴더를 선택하면 확장 프로그램이 만들어지고 Chrome으로 드래그 앤 드롭하여 설치할 수 있습니다. 모든 것이 계획대로 진행되면 스크립트는 메타 크리틱 검색 요청의 URL을 ‘% 20’에서 ‘+’문자로 다시 작성합니다.

이제 http://metacritic.com/search/all/%s/resultsChrome 자체에서 검색 엔진 URL로 사용하여이 검색에 대한 바로 가기를 사용할 수 있습니다.

도움이 되었기를 바랍니다.. 😉


답변

REST 스타일의 검색을 사용할 필요는 없지만 대신 다음과 같은 일반 HTTP GET 매개 변수를 사용할 수 있습니다.

http://www.metacritic.com/search/all/results?search_term=test+query

따라서 귀하의 경우에는 다음과 같습니다.

http://www.metacritic.com/search/all/results?search_term=%s

불행히도, 이것은 Metacricic (?)에서 작동하지 않습니다.

내가 얻을 수있는 최선의 방법은 다음 검색 기능이지만 어떤 이유로 든 실제로 리디렉션되지는 않습니다.

data:text/html;charset=utf-8,<script>var s = "%s"; s = s.replace("%20", "+"); var url = "http://www.metacritic.com/search/all/" + s + "/results"; window.location = url;</script>

배경 정보 :

Chrome은 위치에 따라 (예 : URL 내에 있거나 GET 매개 변수로) 전송 된 매개 변수를 인코딩합니다. URL 내에서 공백을로 변환하는 것이 합리적 %20이지만 매개 변수에서는가 +사용됩니다.

불행히도, 그들은 이 동작을 변경하지 않기 때문에 간단한 Javascript 줄 로이 문제를 해결할 수 있다고 생각합니다. 내가 살펴볼 게


답변

그의 답변에서 slhck이 지적한 것처럼 Chrome은 % s 만 지원하며 더하기 기호를 사용할지 %20공백을 이스케이프 할지 “지능적으로”주장 합니다 ( Chromium 버그 78429 참조 ).

내가 다루고있는 특정 테스트 사례 (metacritic.com)는 RESTful 검색 인터페이스와 동시에 뛰어 넘기에는 너무 많은 농구대를 부과합니다.

따라서 해결 방법으로 app.metacritic.com의 레거시 인터페이스를 사용하기로 결정했습니다.

http://apps.metacritic.com/search/process?tfs=game_title&sb=0&game_platform=PC&­ts=%s

그것이 가능하지 않다면 metacritic.com에 연락하여 Chromium 버그를 언급하고 자비를 구했습니다. 🙂


답변

.crx 또는 .js를 제대로 설치하지 못했습니다 (아마 내 잘못 일 수도 있습니다).

greasemonkey 스크립트를 사용하여 작동하게했습니다 (Greatmonkey 스크립트를 처리하기 위해 Tampermonkey Google 크롬 확장 프로그램을 개인적으로 사용합니다).

Tampermonkey에서 새로운 스크립트를 작성하고 다음을 붙여 넣습니다.

// ==UserScript==
// @name         Google-Chrome-URL-Replacer-Extension (Metacritic)
// @namespace    https://github.com/FjearJiri/Google-Chrome-URL-Replacer-Extension/
// @version      1.0
// @description  Replaces %20 with + in URLs in order to build valid URLS for search engine shortcuts
// @include      http://www.metacritic.com/search/*%20*
// @copyright    2011+, FjearJiri ('ported' to greasemonkey script by zifnab)
// ==/UserScript==
// http://superuser.com/questions/281934/forcing-s-to-escape-spaces-with-plus-instead-of-percent-twenty
window.location = window.location.href.replace(/%20/g, "+");

답변

나는이 같은 일에 어려움을 겪고 있었고이 페이지를 발견했다. 불행히도 답변이 너무 복잡하거나 레거시 검색 아이디어와 같이 작동하지 않았으며 갑자기 메타 크리틱스와 관련하여 사용했던 내용을 기억했습니다. , 사실은). 그래서 내가 한 일은 Google 검색을 만들고 내 메타 검색을하는 것입니다.

https://www.google.com/search?gcx=w&ix=c2&sourceid=chrome&ie=UTF-8&q=site%3Ametacritic.com+%s

분명히 당신은 metacritic의 멋진 검색 결과 페이지를 얻지 못하지만 유용한 결과를 제공한다는 점에서 이상적이지 않습니다. 또한 채널 특정 버전을 만들었습니다. 예를 들어 TV 쇼를 검색하려면 “/ tv /”가 추가 된 동일한 엔진을 사용합니다.


답변

편집 : 이 기본 확장 프로그램을 Chrome 스토어에 추가했으며 아이콘도 추가했지만 코드는 변경하지 않았습니다. 예, 이제 Chrome에서 바로 할 수 있으며 다운로드 폴더에서 삭제할 수 있습니다. 링크 : 메타 크리틱 검색 수정 프로그램 .

원래 게시물 : JiriB의 확장 코드를 업데이트하여 Chrome에서 다시 작동합니다! 실제로 한 줄만 더 필요했습니다. 나는 전에 github을 사용한 적이 없지만 그의 프로젝트를 포크하고 풀 요청을 제출했다.

manifest.json :

{
"content_scripts": [ {
"include_globs": [ "http://www.metacritic.com/search/*%20*" ],
"js": [ "script.js" ],
    "matches": [ "http://*/*", "https://*/*" ],
    "run_at": "document_start"
} ],
"converted_from_user_script": true,
"description": "Replaces '%20' in metacritic search request to '+'",
"name": "Metacritic search fixer",
"manifest_version": 2,
"version": "0.2.2"
}

script.js :

window.location = window.location.href.replace(/%20/g, "+");

답변

사용자 정의 검색 엔진에 다음 검색 문자열을 사용하십시오.

http://www.metacritic.com/search/results?search_term=%s