নির্বাচিত ফায়ারফক্স শর্টকাট কীগুলিকে ওভাররাইড করা থেকে আমি যে পৃষ্ঠাগুলিতে পরিদর্শন করি সেগুলি কীভাবে প্রতিরোধ করব?


40

ফায়ারফক্সে, কীভাবে আমি প্রতি-কী ভিত্তিতে জাভাস্ক্রিপ্টের সাহায্যে ফায়ারফক্স বিল্ট-ইন কীবোর্ড শর্টকাটগুলিকে ওভাররাইড করা থেকে আটকাতে পারি? সাধারণত প্রতি সাইট ভিত্তিতেও? সবচেয়ে হতাশাজনক ওভাররাইড হ'ল ফরোয়ার্ড স্ল্যাশ ('/') যা "পৃষ্ঠায় অনুসন্ধান করুন" এর সাথে যুক্ত। গুগল অনুসন্ধান ফলাফল, টুইটারের টাইমলাইন, কিছু উইকি এবং অন্যান্য পৃষ্ঠাগুলির মতো সাইটগুলি তাদের নিজস্ব অনুসন্ধান বাক্সগুলির জন্য স্ল্যাশ কী চুরি করে, যা সম্পূর্ণ ভুল।

যেহেতু আমার প্রতিনিধি আমাকে প্রশ্ন জিজ্ঞাসা করতে, সম্পাদনা করতে এবং উত্তরগুলি দিতে, কিন্তু মন্তব্যগুলি যুক্ত করতে দেয় না, এটি মূলত এই দুটি দুটি প্রশ্নের সদৃশ যা সঠিকভাবে উত্তর দেওয়া হয়নি:

আমার কীবোর্ডের শর্ট কাটগুলিকে ওভাররাইড করার জন্য কোনও ওয়েবসাইট কীভাবে থামবে

ফায়ারফক্স: ওয়েবসাইটগুলিকে / (স্ল্যাশ) কী ওভাররাইড করার অনুমতি দেয় না


1
আমি পিএইচপিএমআইএডমিন ওভাররাইড করে সিটিটিএল-<বাম তীর> নিয়ে হতাশ হয়ে পড়েছি ... এটি একটি ভাল প্রশ্ন
হাই অনিয়মিত

1
আমি এমন ওয়েবসাইটগুলি দাঁড়াতে পারি না যেগুলি ডিফল্ট আচরণকে ওভাররাইড করে। মিডল-ক্লিকগুলির পাশাপাশি এটি অনেক কিছু করে। এই সমস্যার সমাধানের জন্য এই সম্পর্কিত প্রশ্নটি দেখুন ।
ক্যাম জ্যাকসন

উত্তর:


12

এডিমট্ট এর উত্তরে বিল্ডিং, আমি একটি ব্যবহারকারী স্ক্রিপ্ট তৈরি করেছি যা কেবলমাত্র নির্দিষ্ট কীবোর্ড শর্টকাটকে অক্ষম করে। আপনি কীকডস অ্যারেতে কীডকোড যুক্ত করে অক্ষম করতে আরও শর্টকাট যুক্ত করতে পারেন , বা @includeএক বা একাধিক নিদর্শন দিয়ে ট্যাগটি প্রতিস্থাপন করে কোন সাইটগুলিতে এটি প্রয়োগ করতে হবে তা সীমাবদ্ধ করতে পারেন ।

গ্রিসমোনকি ব্যবহার করে ইনস্টল করুন ।

// ==UserScript==
// @name           Disable keyboard shortcuts
// @description    Stop websites from highjacking keyboard shortcuts
//
// @run-at         document-start
// @include        *
// @grant          none
// ==/UserScript==

keycodes = [191] // Keycode for '/', add more keycodes to disable other key captures

document.addEventListener('keydown', function(e) {
//    alert(e.keyCode); //uncomment to find out the keycode for any given key
    if (keycodes.indexOf(e.keyCode) != -1)
    {
        e.cancelBubble = true;
        e.stopImmediatePropagation();
    }
    return false;
});

2
অসাধারণ! মেটা কীগুলির প্রায় সম্পূর্ণ সমাধানও --- আমি গুগল ডক্সকে পূর্ববর্তী ট্যাব (সিএমডি + বাম) এবং নেক্সট-ট্যাব (সিএমডি + ডান) বাধা দেওয়ার চেষ্টা করছিলাম এবং খুঁজে পেলাম যে আমাকে ব্যবহারের ক্যাপচারটি সত্য হিসাবে সেট করাও প্রয়োজন; অর্থাত্ ডকুমেন্ট.এডএভেন্টলিস্টনার ('কীডাউন', আপনার হ্যান্ডলারফ্ন, সত্য)
শিবউন

1
নোট করুন যে মানটি 191আপনার কীবোর্ড লেআউটের উপর নির্ভর করে, যতক্ষণ না আমার এজারিটি সেটআপ সম্পর্কিত, (আলফা অঞ্চলের জন্য আমার 16 + 58 এবং নামপ্যাডের জন্য 111 আছে)
sylvainulg

2
এবং দুর্ভাগ্যক্রমে আজকাল আর কাজ করতে হয় না (ফ্যাব্রিকেটর এবং টুইটারে পরীক্ষিত)। কাস্টম শ্রোতাদের ট্রিগার করা হয়েছে তবে সাইটের ইভেন্টটি যাইহোক ট্রিগার করা হয়েছে এবং 'পৃষ্ঠায় অনুসন্ধান' প্রদর্শিত হবে না।
syvvululul

1
@ সাইলভাইনুলগ আমি দেখতে পাচ্ছি যে এটি টুইটারে কাজ করে না, তবে কমপক্ষে এটি এখনও গিটহাবে কাজ করে। আমি ভাবছি কি পরিবর্তন হয়েছে।
বিনকি

এটি php.net ব্যতীত আমি সর্বত্র চেষ্টা করেছি works আমি ভাবছি তারা কোন ইভেন্টটি ব্যবহার করছে।
কিউজিক্স

8

গুগল এবং দ্রুত অনুসন্ধান শর্টকাট সম্পর্কিত, আপনি এই গ্রিসমোনকি স্ক্রিপ্টটি ইনস্টল করতে পারেন:

http://userscripts-mirror.org/scripts/show/132237

যেমন বিবরণে বলা হয়েছে, এটি "প্রতিটি কী প্রেসে অনুসন্ধানের ইনপুটটিকে ফোকাস করা থেকে গুগলকে থামিয়ে দেয়" - বিশেষত, আপনি যদি /অনুসন্ধান বাক্সের বাইরে কীবোর্ড ফোকাস দিয়ে চাপেন তবে দ্রুত অনুসন্ধানটি প্রদর্শিত হবে, যেমন এটি অন্যান্য ওয়েবসাইটগুলিতে হবে।

আমি কেবল কোডটি স্পর্শ না করেই এটি ইনস্টল করেছি, তবে আমি মনে করি এটি অন্যান্য সাইট এবং / অথবা অন্যান্য শর্টকাটগুলির সাথে সহজেই কাজ করতে পারে।


স্পষ্ট করার জন্য: এই ব্যবহারকারীর স্ক্রিপ্টটি ব্রাউজারের নিজস্ব কার্যকারিতা সংরক্ষণ করে পৃষ্ঠাগুলিতে সমস্ত কীবোর্ড শর্টকাটগুলি থামিয়ে দেয়। অন্যান্য ওয়েবসাইটে এটি প্রয়োগ করতে কেবল আরো @ অন্তর্ভুক্ত ট্যাগ যুক্ত করুন।
মাইকফে

লিঙ্কটির পিছনে কী লুকিয়ে রয়েছে সে সম্পর্কে কোনও তথ্য ছাড়াই, উত্তরগুলি দুর্ভাগ্যক্রমে যখন নিষ্ক্রিয় হয় যখন ইউজার স্ক্রিপ্টস-এমরআর.আরোগ্রাফি ডাউন হয়ে যায়, ফায়ারওয়াল বা যে কোনও কিছু দ্বারা অবরুদ্ধ থাকে।
sylvainulg

8

ফায়ারফক্স 58 যেহেতু ওয়েব সাইটে প্রতি কীবোর্ড শর্টকাটগুলি ওভাররাইড অক্ষম করা সম্ভব।

"ওভাররাইড কীবোর্ড শর্টকাটগুলি" এবং অন্যান্য অনেক অনুমতি "পৃষ্ঠার তথ্য -> অনুমতিসমূহ" (ইউআরএল বারে তথ্য আইকনের অধীনে) পাওয়া যায়।

ফায়ারফক্স অনুমতিগুলির সুপারউজার ডট কমের উদাহরণ

ফায়ারফক্স # 380637 এ কীবোর্ড ওভাররাইড চালু করা হয়েছিল


1
হ্যাঁ, 11 বছর পরে তারা শেষ পর্যন্ত সেই টিকিট ঠিক করার অর্ধ-অ্যাসেসড কাজ করেছে। দুর্ভাগ্যক্রমে বর্তমান বাস্তবায়ন (এখনও এফএফ 59 এ) পুরোপুরিভাবে Backspaceএবং Deleteকীগুলি অক্ষম করে , যা সত্যই সফল হয়।
ল্যামবার্ট

6
এছাড়াও, দুর্ভাগ্যক্রমে এটি ওয়েব পৃষ্ঠাগুলি অ-স্থানান্তরিত (যেমন, না Ctrl, Shiftবা Altকী) ইনপুট ক্যাপচার করা থেকে আটকাচ্ছে না - যার অর্থ এটি মূল প্রশ্নে উল্লিখিত স্ল্যাশ কী দিয়ে মোটেই সহায়তা করে না।
ল্যামবার্ট

@ ল্যাম্বার্ট - জেনে রাখা ভাল, আমিও এটি ব্যবহার না করে শেষ করেছি, যেহেতু ফায়ারফক্স কীবোর্ড শর্টকাটগুলি জিরা এবং সঙ্গমে স্থির হয়ে গেছে (কোথাও ফায়ারফক্স ৫৯ এর কাছাকাছি)
আলেক ইস্তমিন

2
কি ঠিক করা হয়েছিল? জীরা এবং কনফ্লিউয়েন্স উভয়ই এখনও এমন সমস্ত ধরণের কীগুলি দখল করে যা ক্রমাগত আমার কর্মপ্রবাহকে ব্যাহত করে। আমি এটি আটলাসিয়ানদের সমস্যা হিসাবে দেখছি: তাদের লোকদের "শর্টকাট" অক্ষম (এবং / অথবা পরিবর্তন) করার অনুমতি দেওয়া উচিত।
ল্যামবার্ট

ফায়ারফক্স bugzilla.mozilla.org/show_bug.cgi?id=1433592 আমার জন্য atlassian পণ্য সংশোধন (একই সময়সীমার মধ্যে atlassian সংশোধন করা হয়েছে হয়েছে পারে)
অ্যালেক Istomin

0

এখানে আরও সাধারণ স্ক্রিপ্ট রয়েছে - আপনি অক্ষম করতে যে কোনও সংখ্যক কীপ্রেস ইভেন্ট সংজ্ঞায়িত করতে পারেন।

https://greasyfork.org/en/scripts/5819-disable-website-keyboard-hooks

// ==UserScript==
// @name           Disable website keyboard hooks
// @description    Stop websites from hijacking keyboard shortcuts.
// @author         Isaac Levy
// @run-at         document-start
// @include        *
// @grant          none
// @version        0.0.1
// @namespace      https://isaacrlevy.com
// ==/UserScript==

var keycodes = [ // Add keycodes as desired, keep sorted.
    37, 38, 39, 40 // Arrow keys.
]

var meta_keycodes = [ // Disable these when meta key is pressed.
    70
];

// Don't change below this line.

var isMac = navigator.platform.toLowerCase().indexOf('mac') >= 0;

// Create a fast lookup.
// This saves work during normal typing. Maybe unnecessary.
var keycode_offset = keycodes[0];
var keycode_arr = Array(keycodes[keycodes.length - 1] - keycode_offset)
for (var i = 0, len = keycodes.length; i < len; i++) {
    keycode_arr[keycodes[i] - keycode_offset] = true;
}

document.addEventListener('keydown', function(e) {
    //console.log(e);
    if ((isMac && e.metaKey) || (!isMac && e.ctrlKey)) {
        if (meta_keycodes.indexOf(e.keyCode) >= 0) {
            e.stopImmediatePropagation();
        }
    } else if (keycode_arr[e.keyCode - keycode_offset]) {
        e.stopImmediatePropagation();
    }
    return false;
});

আমি দুঃখিত - তবে আমি এটি কাজ করতে পারি না। বিশেষত আমি কোনও সাইটে বাম এবং ডান তীর কীগুলি অক্ষম করতে চাই - তবে এই স্ক্রিপ্টের সাহায্যে তীর কীগুলি এখনও সাইটটি নিয়ন্ত্রণ করে ???
খ্রিস্টান হেরেনজ

-3

হ্যাঁস্ক্রিপ্ট অ্যাড অন আমার জন্য ঝামেলা মুক্ত সমাধান ছিল। এটি সাইটগুলিকে জাভাস্ক্রিপ্ট চালানো থেকে বিরত রাখে তবে কেবলমাত্র আপনি পছন্দ করেন এমন সাইটগুলি। বেশিরভাগ সময় এই সাইটগুলি জাভাস্ক্রিপ্ট দ্বারা কীবোর্ড শর্টকাট হাইজ্যাক করে। আমি এই নিবন্ধটি Ghacks.net ফর্মটিতে পেয়েছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.