사용자가 양식 요소를 마우스 오른쪽 단추로 클릭하고 해당 작업을 수행 할 수있게 해주는 ff 추가 기능을 개발하려고합니다.양식 입력을 위해 상황에 맞는 메뉴를 표시하십시오.
불행히도 누군가는 ff에서 긴 토론에도 불구하고 상황에 맞는 메뉴가 나타나지 않아야한다고 결정했습니다. https://bugzilla.mozilla.org/show_bug.cgi?id=433168, 그들은 여전히 확인란, 라디오 또는 선택을 위해 나타나지 않습니다.
나는 이것을 찾았습니다 : https://developer.mozilla.org/en-US/docs/Offering_a_context_menu_for_form_controls하지만 새로운 애드온 SDK로 코드를 변환하는 방법을 생각할 수 없습니다. 콘텐츠 스크립트에 표시되는 자바 스크립트를 덤프하려고했지만 옵저버 서비스를 통해 표시했지만 아무 소용이 없습니다.
또한 권장 확장자 인 'https://addons.mozilla.org/en-US/firefox/addon/form-control-context-menu/'을 찾을 수 없습니다.이 방법을 '구체적으로 어떻게 만들 었는지 보여주기 위해 만들어졌습니다'라고 생각하면 상당히 실망 스럽습니다.
이것은 매우 기본적인 애드온 기능처럼 보이기 때문에보다 쉬운 문서에 대한 도움말이나 링크는 크게 감사하겠습니다.
** 내가 트릭을 할 것으로 보인다 주에서 필요한 파일에 다음 코드를 추가 한 **
UPDATE.
var {WindowTracker} = require("window-utils");
var tracker = WindowTracker({
onTrack: function(window){
if (window.location.href == "chrome://browser/content/browser.xul") {
// This is a browser window, replace
// window.nsContextMenu.prototype.setTarget function
window.setTargetOriginal = window.nsContextMenu.prototype.setTarget;
window.nsContextMenu.prototype.setTarget = function(aNode, aRangeParent, aRangeOffset) {
window.setTargetOriginal.apply(this, arguments);
this.shouldDisplay = true;
};
};
}
, onUntrack: function(window) {
if (window.location.href == "chrome://browser/content/browser.xul") {
// In case we were called because the extension is uninstalled - restore
// original window.nsContextMenu.prototype.setTarget function
window.nsContextMenu.prototype.setTarget = window.setTargetOriginal;
};
}
});
불행히도이 기능은 비활성화 된 입력에 대한 상황에 맞는 메뉴를 표시하지 않지만이 점은 나에게 도움이되지 않습니다.
많은 감사
언급 한 확장 프로그램의 소스는 웹에서 바로 볼 수 있습니다. 확장 프로그램의 페이지에서 '버전 정보'섹션까지 아래로 스크롤하여 확장 한 다음 확장에 대한 _ 소스 _ 링크보기를 클릭하십시오. 그런 다음 확장 프로그램의 소스 코드를 찾아 볼 수 있습니다. –
고마워요. 불행히도 새로운 SDK 코드로 변환하면 잃어버린 부분입니다! – Arth