Safari에서 사용자 정의 Javascript 키 바인딩을 비활성화 할 수 있습니까?


14

나는 Emacs를 사용한지 수십 년의 경험을 가지고 있으므로 Mac OS X에서 텍스트 편집을위한 Emacs와 같은 키 바인딩이 매우 좋습니다. 불행히도, 일부 웹 사이트 (ahem)는 Javascript로 이러한 웹 사이트를 재정의하기로 선택합니다. 예를 들어, 그중 하나는 한 문자로 돌아 가지 않고 controlB텍스트 를 삽입합니다 **strong text**.

Safari에서 표준 OS X 키 바인딩을 다시 매핑하려는 Javascript 키 바인딩을 무시하도록하는 방법이 있습니까?


나는 일반적인 방법을 모르지만 GreaseKit을 사용하여 WMD 단축키를 비활성화 할 수 있습니다. 핫키를 비활성화하는 방법이 있습니까?를 참조하십시오 . -메타 스택 오버플로 .
Lri

링크 주셔서 감사합니다! 사람들이 충분히 불평하지 않았기 때문에 그들이 옳다고 생각하는 것은 실망 스럽습니다. (저는 수년간 SE 사이트를 사용해 왔으며 1 일째되는 날 내 목소리가 들리기 위해 불만을 제기해야한다는 사실을 몰랐습니다.) 모든 웹 브라우저 문제 진단은 "모든 확장 기능 비활성화"입니다.
Ken

1
저는 켄과 함께 있습니다. 손이 SE 사이트에 있다는 것을 잊었 기 때문에 개인적으로 "실행 취소"를 몇 번이나 사용해야했는지 셀 수 없습니다. : S
ephsmith

나는 자바 스크립트를 비활성화 할 수 있다고 제안하려고 ... 문제를 해결했지만 새로운 것을 만들었습니다. 더 이상 StackExchange에 의견을 게시 할 수 없습니다 ... = P
daviewales

1
이 사이트에 대한 질문입니까? 또는 어디서나 자바 스크립트를 비활성화하는 것에 대해? 버그 보고서로 메타로 옮길 수는 있지만 이미이 사이트에 대한 요청이 여러 개 있습니다. meta.stackexchange.com/questions/3245/...
bmike

답변:


7

다음은 meta의 Rob W 스크립트입니다. cntrl- * 만 차단하도록 업데이트되었고 사용자 스크립트 실행을위한 사파리 확장 인 NinjaKit과 함께 작동하도록 수정되었습니다.

닌자 키트 : https://github.com/os0x/NinjaKit

스크립트:

// ==UserScript==
// @name           Cya WMD shortcuts
// @namespace      Rob W
// @version        1.0
// @include          http://apple.stackexchange.com/*
// @include          http://stackoverflow.com/*
// @include          http://superuser.com/*
// @include          http://meta.superuser.com/*
// @include          http://serverfault.com/*
// @include          http://meta.serverfault.com/*
// @include          http://askubuntu.com/*
// @include          http://meta.askubuntu.com/*
// @include          http://*.stackexchange.com/*
// @include          http://answers.onstartups.com/*
// @include          http://meta.answers.onstartups.com/*
// @include          http://stackapps.com/*
// @run-at         document-end
// @grant          none
// ==/UserScript==
(function () {
    var p = document.getElementById('wmd-input');
    console.log("wmd-input:" + p);
    if (p) {
        p = p.parentNode;

        function ignore(e) {
            if (e.ctrlKey) {
                e.stopPropagation();
            }
        }
        p.addEventListener('keydown', ignore, true);
        p.addEventListener('keypress', ignore, true);
        p.addEventListener('keyup', ignore, true);
    }
})();



1

내가 사용한 지 오래 되었지만 Privoxy 프록시 서버에는 자바 스크립트를 수정하여 동작을 변경하는 기능이 있습니다. 프록시 서버를 실행하려는 경우 이는 옵션입니다.

나는 철저하게 보이지는 않았지만 privoxy처럼 콘텐츠 (xml, html, CSS 또는 javascript)를 다시 작성하는 브라우저 플러그인을 보지 못했습니다. Privoxy의 웹 페이지에서 js-annoyances 필터를 찾으십시오. 여기에서 자바 스크립트를 다시 작성하는 예를 찾을 수 있습니다.

아마도 비슷한 기능을 제공하는 브라우저 플러그인 형태로 더 현대적인 구현이 있지만 privoxy는이 사용 사례에서 잘 작동했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.