Greasemonkey: xmlHttpRequest.open은 더 이상 ν”„λ‘œν† μ½œκ³Ό ν˜ΈμŠ€νŠΈκ°€ μ—†λŠ” 경둜λ₯Ό ν—ˆμš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2017λ…„ 12μ›” 14일  Β·  9μ½”λ©˜νŠΈ  Β·  좜처: greasemonkey/greasemonkey

IIλŠ” jesus2099/konami-command#372μ—μ„œ Firefox v57 + Greasemonkey v4κ°€ 전체 URL https?://host.tld/pathname μ—μ„œλ§Œ μž‘λ™ν•˜κ³  더 이상 /pathname μ—μ„œλ§Œ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 μ•Œμ•„μ°¨λ ΈμŠ΅λ‹ˆλ‹€.
Firefox v57 + λ‹€λ₯Έ GM 엔진은 이 νšŒκ·€μ˜ 영ν–₯을 받지 μ•ŠμŠ΅λ‹ˆλ‹€. 이것이 μ œκ°€ μ—¬κΈ°μ—μ„œ 티켓을 μ—¬λŠ” μ΄μœ μž…λ‹ˆλ‹€.

λͺ¨λ“  9 λŒ“κΈ€

제 ν•΄κ²° 방법 μ—μ„œλŠ” URL μ•žμ— self.location.protocol + "//" + self.location.host + λ₯Ό μΆ”κ°€ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

μ‚¬μš©μž μŠ€ν¬λ¦½νŠΈκ°€ μ‹€ν–‰λ˜λŠ” μ½˜ν…μΈ  슀크립트 μ»¨ν…μŠ€νŠΈμ—μ„œ μš”μ²­μ„ μ‹€ν–‰ν•˜λ €λ©΄ 전체 URL을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities#Content_script_requests_happen_in_the_context_of_extension_not_content_page

전체 URL을 μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ €λ©΄ window.wrappedJSObject 에 λŒ€ν•œ λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜κ³  exportFunction() μ‚¬μš©ν•˜μ—¬ μ‹€ν–‰ν•˜λŠ” 데 ν•„μš”ν•œ κΈ°λŠ₯(onreadystatechange λ“±)을 내보낼 수 μžˆμŠ΅λ‹ˆλ‹€. λ‚΄ μ œμ•ˆμ€ 전체 URL을 μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

도움을 μ£Όμ…”μ„œ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€.
μ’‹μŠ΅λ‹ˆλ‹€. WebExtensions μ‹œμŠ€ν…œμ˜ 사양에 λ”°λ₯Έ κ²ƒμž…λ‹ˆλ‹€. λ§žμŠ΅λ‹ˆκΉŒ?
λ‚˜λŠ” 이 WebExtensions 물건을 λͺ¨λ₯΄μ§€λ§Œ, 그것은 ν‘œμ€€μΈ 것 κ°™λ‹€...?
μž‘μ„±μž λΈ”λ‘œκ·Έ κ²Œμ‹œλ¬Όμ„
이 νšŒκ·€κ°€ 영ꡬ적인 것이 ν™•μ‹€ν•©λ‹ˆκΉŒ?

이 νšŒκ·€κ°€ 영ꡬ적인 것이 ν™•μ‹€ν•©λ‹ˆκΉŒ?

μ•„λ§ˆλ„. 잘 λͺ¨λ₯΄κ² μ–΄. μ μ ˆν•œ μƒŒλ“œλ°•μŠ€λ₯Ό λ§Œλ“€ 수 μžˆλ‹€λ©΄ <strong i="7">@grant</strong> none 라인 μ•„λž˜μ—λŠ” μ΄λŸ¬ν•œ λ¬Έμ œκ°€ 없을 κ²ƒμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 일뢀 κΆŒν•œ μžˆλŠ” APIκ°€ ν•„μš”ν•œ 경우 μ΄λŸ¬ν•œ 단계가 ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 곡은 μ‹€μ œλ‘œ Mozilla의 μ½”νŠΈμ— μžˆμŠ΅λ‹ˆλ‹€.

FTR λ‚΄ μŠ€ν¬λ¦½νŠΈλŠ” <strong i="5">@grant</strong> none μŠ€ν¬λ¦½νŠΈμž…λ‹ˆλ‹€.
ν”„λ‘œμ νŠΈ 리더가 이 티켓을 λ‹«κ±°λ‚˜ 닫지 μ•Šλ„λ‘ ν•©λ‹ˆλ‹€.
μ μ‘ν•˜κ² μŠ΅λ‹ˆλ‹€.

이것은 μ˜λ„λœ 것이 μ•„λ‹ˆλ―€λ‘œ 영ꡬ적일 κ²ƒμœΌλ‘œ κΈ°λŒ€ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€. 루트둜 λ¬Έμ„œλ₯Ό 기반으둜 λΉ„μ ˆλŒ€ 경둜λ₯Ό μ™„μ „νžˆ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜¬λ°”λ₯Έ κΈ°λ³Έ URL은 document.baseURI ( <base href="..."> )μž…λ‹ˆλ‹€.

jQuery AJAXλŠ” 경둜 URLμ—μ„œλ§Œ μž‘λ™ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
Firefox 57, μ΅œμ‹  Greasemonkey.

$.ajax({
  url: '/some/path',
  success: () => {}
});

λ‚΄ AJAXλŠ” 이전 Firefox(WebExtensions 이전)μ—μ„œ μž‘λ™ν•©λ‹ˆλ‹€.

μœ„μ˜ μˆ˜μ • 사항은 μƒˆ 베타 λ²„μ „μœΌλ‘œ νŒ¨ν‚€μ§•λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
https://addons.mozilla.org/firefox/downloads/file/830369/greasemonkey-4.2beta1-an+fx.xpi?src=devhub

ν…ŒμŠ€νŠΈ 및 확인을 ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰