나는 사용자 정의 프로토콜 레지스트리 파이어 폭스에 오래된 애드온이 "linkpassword을 : //"사용자 정의 프로토콜
파이어 폭스 버전은 57 부가 기능은 작동을 중지하고 나는 파이어 폭스 WebExtenstion으로 전체 애드온을 다시 작성해야하기 때문에 .
내 문제는 프로토콜 "linkpassword : //"에 대한 처리기를 등록하는 방법을 찾을 수 없다는 것입니다.
나는 사용자 정의 프로토콜 레지스트리 파이어 폭스에 오래된 애드온이 "linkpassword을 : //"사용자 정의 프로토콜
파이어 폭스 버전은 57 부가 기능은 작동을 중지하고 나는 파이어 폭스 WebExtenstion으로 전체 애드온을 다시 작성해야하기 때문에 .
내 문제는 프로토콜 "linkpassword : //"에 대한 처리기를 등록하는 방법을 찾을 수 없다는 것입니다.
Firefox WebExtensions의 manifest.json에있는 "protocol_handlers"섹션을 사용하여 공통 또는 맞춤 프로토콜 핸들러를 등록 할 수 있습니다.
하지만 웹 + 뭔가 또는 내선 + 뭔가와 사용자 정의 프로토콜 핸들러를 접두사가 같은 MDN WebExtensions protocol_handlers의 문서에서 보인다
.당신은이 같은 "uriTemplate"로 확장의 페이지를 사용하여 확장에있는 링크를 처리 할 수 있습니다 :
"protocol_handlers": [
{
"protocol" : "ext+linkpassword",
"name" : "Password Link",
"uriTemplate": "html/processLink.html#login=%s"
}
],
현재는 WebExtensions와 linkpassword://
에 대한 핸들러를 등록 할 수 없습니다. 현재로서는
은 지정된 허용 된 프로토콜은 프리픽스 (bitcoin
중 하나 geo
, gopher
, im
, irc
, ircs
, magnet
, mailto
, mms
, news
, nntp
, sip
, sms
, smsto
없이 사용될 수있다 , ssh
, tel
, urn
, webcal
, wtai
, xmpp
). 다른 사용자 정의 이름의 접두사는 web+
또는 ext+
이어야합니다. 참조 : protocol_handlers 참조
"protocol_handlers": [
{
"protocol" : "ext+linkpassword",
"name" : "Password Link",
"uriTemplate": "html/processLink.html#login=%s"
}
],
그런 다음 당신이 핸들러를 트리거하기 위해 링크에서 ext+linkpassword://
을 사용해야합니다 : 당신이이 방법을 등록 할 수 있습니다 접두사와
. WebExtensions의 현재 상태로는 linkpassword://
같은 임의의 프로토콜 핸들러를 설정할 수는 없지만
, 그것에 대해 some discussions이 있기 때문에, 어떤 시점에서 변경 될 수 있습니다,하지만 기대 말할 때 어렵다 이. 실제 솔루션을 사용하기 전에 임시 해결 방법으로 Web을 ext+linkpassword://
에 WebExtension JS 코드로 패치하면 페이지의 링크가 linkpassword://
스키마로로드 된 경우에도 핸들러가 계속 트리거됩니다.