Safari'de özel Javascript tuş bağlamalarını devre dışı bırakabilir misiniz?


14

Emacs kullanma konusunda birkaç on yıl deneyimim var, bu yüzden Mac OS X'te metin düzenleme için Emacs benzeri tuş bağlantıları çok güzel. Ne yazık ki, bazı web siteleri (ahem) bunları Javascript ile geçersiz kılmayı tercih ediyor. Örneğin, bunlardan biri bir karakter geri gitmek yerine controlBmetni ekler **strong text**.

Safari'nin standart OS X tuş bağlantılarını yeniden eşlemeye çalışan Javascript tuş bağlantılarını yoksaymasının bir yolu var mı?


Bunu yapmak için genel bir yol bilmiyorum, ancak WMD kısayollarını devre dışı bırakmak için GreaseKit kullanabilirsiniz. Bkz . Kısayol tuşlarını devre dışı bırakmanın bir yolu var mı? - Meta Yığın Taşması .
Lri

Bağlantı için teşekkürler! Sadece insanların yeterince şikayet etmediği için iyi olduğunu düşündüklerini görmek sinir bozucu. (Yıllardır SE sitelerini kullanıyorum ve sesimin duyulması için 1. günde şikayet etmeye başlamam gerektiğini fark etmedim.) Yine de, web sitesinin uzantılarını eklemekten çekiniyorum. herhangi bir web tarayıcısı sorun tanı "tüm uzantıları devre dışı" olduğunu.
Ken

1
Ken ile beraberim. Şahsen "geri al" ı kaç kez kullanmak zorunda olduğumu
sayamıyorum

Javascript'i devre dışı bırakabileceğinizi önerecektim ... Sorununuzu düzeltti, ancak yeni bir tane oluşturdu - Artık
StackExchange'e

1
Bu site hakkındaki soru bu mu? ya da her yerde javascript'i devre dışı bırakmak hakkında? Bir hata raporu olarak meta'mıza taşıyabilirim, ancak bu site için zaten birkaç istek var. meta.stackexchange.com/questions/3245/…
bmike

Yanıtlar:


7

İşte meta Rob W senaryosu yalnızca cntrl- * engellemek için güncellendi ve kodlama çalıştırılmasına yönelik bir safari uzantısıdır NinjaKit ile çalışır, böylece sabit.

NinjaKit: https://github.com/os0x/NinjaKit

Senaryo:

// ==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

Kullandığımdan bu yana bir süre geçti, ancak Privoxy proxy sunucusu, davranışı değiştirmek için javascript'i değiştirme özelliğine sahiptir. Bir proxy sunucusu çalıştırmak istiyorsanız, bu bir seçenektir.

(Kapsamlı olmasa da) baktım ve privoxy gibi içeriği (xml, html, CSS veya javascript) yeniden yazan bir tarayıcı eklentisi görmedim. Privoxy'nin web sayfasında js-annoyances filtresini arayın. Javascript'i yeniden yazmanın örneklerini burada bulacaksınız.

Belki de benzer bir özellik sağlayan bir tarayıcı eklentisi şeklinde daha modern bir uygulama var, ancak bu kullanım durumu için işe yarayan privoxy.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.