ফায়ারফক্সে ওয়েবসাইটগুলি কী-বোর্ড শর্টকাট চুরি করা নিষেধ করবে


57

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

আসলে, আমি সম্ভবত সমস্ত সিএমডি * * শর্টকাট চুরি করতে নিষেধ করতে পারলে এটি সম্ভবত সেরা। আমি এগুলি কখনই দরকারী কোনও কিছুর জন্য ব্যবহার করতে দেখিনি। এটা কি সম্ভব?


4
সম্মত, এটি হিংস্র। ফোগব্যাগে কীবোর্ড শর্টকাটগুলির খুব ভাল প্রয়োগ রয়েছে। CTRL-;শর্টকাট মোডে প্রবেশ করে এবং উপলব্ধ শর্টকাটগুলির সাথে স্ক্রিনে দৃশ্যমান সমস্ত কমান্ড হাইলাইট করে। প্রতিটি শর্টকাট একটি কম্বো, তাই নতুন কেস হয় CTRL-; Nএবং সম্পাদনা হয় CTRL-; E। অভ্যস্ত হওয়া খুব সহজ এবং শূন্য দ্বন্দ্ব। আমি আশা করি আরও সাইটগুলি ব্যবহারকারীর পক্ষে এটি আরও সহজ এবং ব্রাউজার শর্টকাটগুলিকে ওভাররাইড না করে কারণ এই জাতীয় কিছু ব্যবহার করবে। খুব খারাপ সুপার ইউজার এটি করে না কারণ এটি ফোগবগজ হিসাবে একই লোকের।
স্যাম



আমি কর্মক্ষেত্রে প্রচুর ইন্ট্রানেট পৃষ্ঠাগুলি ঘুরে দেখি যেগুলি কোনওভাবে সেন্টিমিড + এন জগাখিচুড়ি করে, তাই আমি কীবোর্ড থেকে নতুন ব্রাউজার উইন্ডোটি কখনই খুলতে পারি না! খুব বিরক্তিকর!
নিকোলাস মিয়ারি

1
Years 12 বছর পরে, মজিলা এটির জন্য একটি বেশ যুক্তিসঙ্গত স্থিতিশীল করেছে। এটি গোপন এবং অসম্পূর্ণ, তবে এটি আপনার বিচক্ষণতা বাঁচাতে পারে। দয়া করে এখানে আমার উত্তর দেখুন: superuser.com/a/1317514/158390
ল্যাম্বার্ট

উত্তর:


24

গ্রিসমোনকির নতুন @run-atসম্পত্তিটির জন্য ধন্যবাদ , এটি এখন সম্ভব!

আমি এই স্ক্রিপ্ট এবং এই স্ক্রিপ্ট থেকে তাদেরকে এমন একটি ইউজার স্ক্রিপ্টে সংযুক্ত করতে অনুপ্রেরণা নিয়েছি যা কীবোর্ড শর্টকাট Ctrl+ Tএবং Ctrl+ সাফল্যের সাথে বাধা দেয় S। আমি ফায়ারফক্স 17 ইএসআর এবং ফায়ারফক্স 25 এ পরীক্ষা করেছি।

// ==UserScript==
// @name           Disable Ctrl+s and Ctrl+t interceptions
// @description    Stop websites from highjacking keyboard shortcuts
//
// @run-at         document-start
// @include        *
// @grant          none
// ==/UserScript==

// Keycode for 's' and 't'. Add more to disable other ctrl+X interceptions
keycodes = [83, 84];  

(window.opera ? document.body : document).addEventListener('keydown', function(e) {
    // alert(e.keyCode ); //uncomment to find more keyCodes
    if (keycodes.indexOf(e.keyCode) != -1 && e.ctrlKey) {
        e.cancelBubble = true;
        e.stopImmediatePropagation();
    // alert("Gotcha!"); //ucomment to check if it's seeing the combo
    }
    return false;
}, !window.opera);

1
এটি খুব সহায়ক ছিল। OS X এর ব্যবহারকারীদের আউট অদলবদল করা উচিত e.ctrlKeyজন্য e.cmdKeyএবং e.cmdKey && e.shiftKeyতাদের ব্রাউজার শর্টকাট অধিকাংশ পুনরায় দাবি করার।
জেমসগেকো

এই স্ক্রিপ্টটি আমার পক্ষে 9কীকোডস অ্যারেতে যুক্ত করে সিটিআরএল + ট্যাব ঠিক করার জন্য কাজ করে। ধন্যবাদ!
মাইক

@ জেমসগেকো এই উত্তরটির মাধ্যমে খুঁজে পেয়েছেন যে আপনি কমান্ড কীটির জন্য e.metaKey ব্যবহার করতে পারবেন / করতে পারেন।
রিজেবোসচ

3
এই কোড কাজ করে! মনে রাখবেন যে এটি কেবলমাত্র Ctrl + কী ফিল্টার করে না, তবে Ctrl + Alt + কী, Ctrl + Shift + কী এবং Ctrl + Alt + Shift + কীও ফিল্টার করে কারণ এটি কেবলমাত্র Ctrl পরিবর্তকের অবস্থার জন্য পরীক্ষা করে।
রোমানস্ট

প্রথম প্রশ্ন: ফায়ারফক্সে কাজ করার জন্য একটি স্ক্রিপ্ট খ্যাতি অর্জন করার জন্য, এটি ব্রাউজারটি অপেরা কিনা তা কেন পরীক্ষা করে? এবং দ্বিতীয় প্রশ্ন: মন্তব্যটি 's' এবং 't' এর জন্য অক্ষর কোড বলে, কিন্তু কোডগুলি সত্যই 'এস' এবং 'টি' এর জন্য। আমার কি কোনও কারণে বড় হাতের কোড নির্দিষ্ট করা দরকার? ধন্যবাদ।
ডগলাস

8

বাগটি দায়েরের 11 বছর পরে অবশেষে মজিলা এই জনপ্রিয় বৈশিষ্ট্যটির অনুরোধে কাজ করতে শুরু করেছে এবং মনে হচ্ছে এটি এখন ঠিকঠাকভাবে কাজ করছে (ফায়ারফক্স 66 66.০.৩ / উবুন্টুতে পরীক্ষিত)।

(এফএফ ৫৯-এর পর থেকে তারা এই সেটিংটিকে আরও জটিল করে তুলেছেন বলে চিহ্নিত করার জন্য @ পারজোহানসনকে ধন্যবাদ জানাই))

আপনি এই পদক্ষেপগুলি অনুসরণ করে সাইট শর্টকাটগুলি অক্ষম করতে পারেন:

  1. (i)লোকেশন বারে আইকনটি ক্লিক করুন
  2. >"সংযোগ" স্থিতি আইটেমের ডানদিকে ছোট তীর ( ) টিপুন ।
  3. এখন, আপনি More Informationনীচে দেখতে হবে। এটিতে ক্লিক করুন, এবং আপনি শেষ পর্যন্ত Page Infoডায়ালগটি পাবেন।
  4. শেষ পর্যন্ত, Permissionsট্যাবে যান এবং Override Keyboard Shortcutsসেটিংস সামঞ্জস্য করুন ।

এখানে প্রতিটি পদক্ষেপের জন্য সাম্প্রতিক কিছু কিছু (মে 2019) স্ক্রিন শট রয়েছে:

ফায়ারফক্স সাইট তথ্য সংলাপের স্ক্রিন শট

ফায়ারফক্স সাইট সুরক্ষা ডায়ালগ স্ক্রিন শট

ফায়ারফক্স অনুমতি ট্যাব স্ক্রিন শট

আপনি যদি এই ফিক্সটির ইতিহাসে আগ্রহী হন তবে এখানে সম্পর্কিত মোজিলা টিকিট রয়েছে: https://bugzilla.mozilla.org/show_bug.cgi?id=380637 এবং https://bugzilla.mozilla.org/show_bug.cgi ? আইডি = 1445942


2
ফায়ারফক্স 64৪ (এটি কোথায় উপস্থিত হয়েছিল তা নিশ্চিত নয়), আপনাকে এই সংকলন বাক্সটি অ্যাক্সেস করতে "সংযোগ" => "আরও তথ্য" ক্লিক করতে হবে। অনুমতিগুলি কগওহিল পরিবর্তিত পছন্দগুলিতে চলে যায় যা সঠিক জায়গা নয়।
জোহসন

ধন্যবাদ @ পারজোহানসন, আমি টিকিট আপডেট করেছি।
ল্যামবার্ট

about:configডিফল্ট পরিবর্তন করার বিকল্প কী ? আমি সমস্ত সাইটগুলিকে আমার কীবোর্ডে প্রবেশ করতে সক্ষম না করতে বাধ্য করতে চাই
inetknght

5

বিস্তৃত গবেষণা দেখায় যে ফায়ারফক্সের বর্তমান সংস্করণ হিসাবে (3.6.x) এটি অসম্ভব - সমস্ত মূল বাইন্ডিং দ্বন্দ্বগুলি অগ্রাধিকারের সাথে সমাধান করা হয়: সিস্টেম> ওয়েবসাইট> ফায়ারফক্স - এটি বরং বোকা আদেশ order আমি চেষ্টা করেছি এমন অ্যাডোনগুলির মধ্যে কোনওটিই এটি ঠিক করতে সক্ষম হবে বলে মনে হচ্ছে না।

সম্ভবত এটি ভবিষ্যতের সংস্করণগুলিতে ডাবল হয়ে উঠতে পারে তবে এখনই উত্তরটি পাওয়া যায় - অসম্ভব।


1
প্রায় 4 বছর পরে এফএফ 30.0 ব্যবহার করা এবং এটি এখনও একটি সমস্যা। আমি মার্টিনের গ্রিসমোনকি ধারণাটি চেষ্টা করব।
LGT

2
প্রায় 8 বছর পরে এফএফ 53.0 ব্যবহার করা এবং এটি এখনও একটি সমস্যা।
ড্যানিয়েল

5

যেহেতু সমস্যাগুলি জাভাস্ক্রিপ্টের কীবোর্ডের ইভেন্টগুলি কীপ্রেসগুলি চুরি করে বলে মনে হচ্ছে, তাই কি জাভাস্ক্রিপ্ট স্ক্রিপ্টটি তৈরি করা সম্ভব হবে না ( গ্রিসমোনকি দিয়ে ব্যবহৃত হতে পারে) যা এই সমস্ত কীবোর্ড ইভেন্টগুলি আবদ্ধ করে, এইভাবে ব্রাউজারে প্রতিটি শর্টকাটের যথাযথ ব্যবহারকে ফিরিয়ে দেয়?

এটি কতটা সম্ভব তা আমি নিশ্চিত নই, তবে আরও জাভাস্ক্রিপ্ট / গ্রিসমোনকি পরীক্ষা-নিরীক্ষা করা কোনও ব্যক্তি সাহায্য করতে সক্ষম হতে পারে (এসও সম্পর্কে জিজ্ঞাসা করার যোগ্য হতে পারে)।


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

4

সমস্যাটি হ'ল যে কোনও পৃষ্ঠা জাভাস্ক্রিপ্ট চালাতে পারে যা কীপ্রেস ইভেন্টগুলি ধরার জন্য ইভেন্ট হ্যান্ডলার সেট করে এবং ফায়ারফক্সের জাভাস্ক্রিপ্ট নিয়ন্ত্রণগুলি অন্য জাভাস্ক্রিপ্ট বৈশিষ্ট্যগুলি ভঙ্গ না করে এটিকে থামাতে যথেষ্ট সূক্ষ্ম নয়।

এটি প্রতিরোধের একমাত্র উপায় হ'ল জাভাস্ক্রিপ্ট (সরঞ্জাম -> বিকল্পগুলি, [সামগ্রী] ট্যাব নিষ্ক্রিয় করা, জাভাস্ক্রিপ্ট সক্ষম করুন আনচেক করুন )। অথবা আপনি নোস্ক্রিপ্টের মতো এক্সটেনশন দিয়ে প্রতি সাইট ভিত্তিতে জাভাস্ক্রিপ্ট অক্ষম করতে পারেন।

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

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


2
জাভাস্ক্রিপ্ট বিকল্প এবং কয়েকটি অন্যান্য এক্সটেনশানগুলি আমি এটি সমর্থন করে না। সমস্ত জাভাস্ক্রিপ্ট ব্লক করা ওয়েবকে অনেক বেশি ব্যবহারযোগ্য করে তুলবে, এটি আসলে কোনও বিকল্প নয়।
খেলার বড় মার্বেলগুলি

0

সম্ভবত তৃতীয় পক্ষের প্লাগইনগুলি মূল ব্রাউজার উইন্ডো থেকে ফোকাস নিচ্ছে taking সেক্ষেত্রে কীবোর্ড ইনপুট (বাধা ব্যতীত) প্লাগইন দ্বারা বাধা পাবে। আপনি যদি এটি পছন্দ না করেন তবে আপনি সর্বদা আপত্তিকর প্লাগইনগুলি সরিয়ে ফেলতে পারেন [আমি মনে করি এটি সম্ভবত ফ্ল্যাশ হবে]।


3
ফ্ল্যাশ এটিও করে, তবে সরল জাভাস্ক্রিপ্ট শর্টকাট চুরি করতে পারে। এখানে একটি নতুন প্রশ্ন শুরু করুন, এবং প্রশ্ন পাঠ্য উইন্ডোতে থাকাকালীন Cmd-L (নন-ম্যাকগুলিতে Ctrl-L) টিপুন। ইউআরএল বারে যা করা উচিত সেটির পরিবর্তে শর্টকাটটি চুরি হয়ে যাবে এবং আপনি কিছু সন্নিবেশ করা হাইপারলিঙ্ক ডায়ালগ দেখতে পাবেন। এটি বিরল ব্যবহৃত হত, তবে খুব বেশি ওয়েবসাইট সম্প্রতি এটি করা শুরু করেছিল।
খেলার বড় মার্বেলগুলি

আমি এটি ফায়ারফক্স চলমান উইন্ডোজ 7 এ চেষ্টা করেছি এবং আমি যেমন ঠিক ঠিক ঠিক তেমন বারে চলে যাই।
দাইসেটসু

দুঃখিত, আমি পরিষ্কার ছিলাম না - এটি তখনই ঘটে যখন সমৃদ্ধ পাঠ্যবাক্স ডায়ালগ নির্বাচন করা হয়। তুমি কি ওটা করেছ? আমি ফায়ারফক্স, অপেরা, সাফারি এবং ক্রোমের সাহায্যে ওএসএক্সে পরীক্ষা করেছি। চারটি ক্ষেত্রেই সাধারণত সিএমডি-এল ইউআরএল বারে ঝাঁপ দেয় (এবং Ctrl-L কিছুই করে না)। প্রশ্ন বডি সম্পাদনা করার সময় Cmd-L এবং Ctrl-L উভয় পরিবর্তে হাইপারলিঙ্ক ডায়ালগ সন্নিবেশ করান।
তাও

দেখে মনে হচ্ছে ঠিক আছে। এটি কীভাবে প্রতিরোধ করা যায় তা সম্পর্কে আমার কোনও ধারণা নেই। :( এটা একটা মজার প্রশ্ন এখন আমি তোমার প্রশ্ন upvoting করছি কেউ এটা উত্তর যদি আমি এটি একটি খয়রাত নিক্ষেপ
Daisetsu

সমস্যা প্লাগইনগুলির সাথে নয়। প্লাগইনগুলি নিজের দ্বারা পৃথক সমস্যা। এবং একটি ভিন্ন সমস্যা, সর্বোপরি। প্লাগিনগুলিতে, সমস্ত ফোকাস প্লাগইন দ্বারা চুরি হয়ে যায়, কারণ এটি একটি পৃথক সত্তা। জাভাস্ক্রিপ্টের সাহায্যে, ফায়ারফক্স ইউআই হ'ল জাভাস্ক্রিপ্ট এবং এর নিজস্ব বাইন্ডিং রয়েছে তবে সাইটগুলি একই স্তরের বাইন্ডিংগুলি সংজ্ঞায়িত করতে পারে। এখনও পর্যন্ত, এটি প্রতিরোধের এখনও কোনও ব্যবস্থা নেই।
njsg

0

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

আমি এই স্ক্রিপ্টটি নিয়ে এসেছি যা ক্রস ব্রাউজারের সাথে সামঞ্জস্যপূর্ণ (আমি মাইক্রোসফ্টের আইইয়ের জন্য পরীক্ষা করিনি)। লক্ষ্য করুন যে ব্রাউজারগুলি কিছু কীগুলির জন্য বিভিন্ন কোড ফেরত দেয়। আমার ক্ষেত্রে আমি Ctrl + P প্রতিরোধ করতে চেয়েছিলাম।

ক্রোমের "পি" কীটি e.keyCode == 80অপেরাতে যেমন দেখা যায় , এটি e.charCode == 16ফায়ারফক্সে রয়েছেe.charCode == 112

$(document).on('keydown', function(e) {
    if(e.ctrlKey && (e.key == "p" || e.charCode == 16 || e.charCode == 112 || e.keyCode == 80) ){
        alert("Please use the Print PDF button below for a better rendering on the document");
        e.cancelBubble = true;
        e.preventDefault();

        e.stopImmediatePropagation();
    }  
});

আমি jQuery ব্যবহার করেছি।


0

আপনি যদি ওয়েবপৃষ্ঠার দ্বারা নেওয়া কোনও সিআরটিএল- কে অক্ষম করতে চান তবে কেবল অ্যাজ থেকে সমস্ত চিঠির কোডগুলির জন্য ফিল্টার করুন (পূর্বে গৃহীত এবং কার্যকরী উত্তরের ভিত্তিতে)

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

(window.opera ? document.body : document).addEventListener('keydown', function(e) {
    //alert(e.keyCode ); //uncomment to find more keyCodes
    if( e.ctrlKey && e.keyCode>=65 && e.keyCode<=90 ) {
        e.cancelBubble = true;
        e.stopImmediatePropagation();
    }
    return false;
}, !window.opera);

-1

সম্ভবত আপনি সেই প্রোগ্রামগুলির মধ্যে একটি অটোহোটকি বা অটোইট ব্যবহার করতে পারেন এবং আপনি যদি হটকি কম্বো করতে পারেন এবং সেগুলি ফায়ার ফক্সের সাথে যুক্ত করতে পারেন, বলুন

Ctrl-; T নতুন ট্যাবে

Ctrl-; N নতুন উইন্ডোতে, এবং আরও।

অটোহোটকি বা অটোট কীভাবে ব্যবহার করতে হয় তা আমি জানি না, সুতরাং অন্য কারও কাছে এটি যাচাই করতে হবে যাচাই করতে হবে, আমি কেবল এটি একটি সম্ভাব্য ধারণা হিসাবে প্রস্তাব করি।


-2

ফায়ারফক্সের বর্তমান সংস্করণ আমাদের "প্রসঙ্গ মেনু হাইজ্যাক করতে জাভাস্ক্রিপ্ট অক্ষম করতে সক্ষম করে:"

সরঞ্জাম / বিকল্প / সামগ্রী / জাভাস্ক্রিপ্ট উন্নত / সক্ষম করুন বা প্রসঙ্গ মেনুগুলি প্রতিস্থাপন করুন

তবে "কীবোর্ড শর্টকাট হাইজ্যাক করতে জাভাস্ক্রিপ্ট অক্ষম করার কোনও বৈশিষ্ট্য নেই"।

গীত। আমি টুইটার ওয়েবসাইটকে ঘৃণা করি, এটির কীবোর্ড শর্টকাটগুলি আমার সিস্টেম ভিত্তিক কীবোর্ড শর্টকাটের সাথে বিরোধ করে: জে, কে, এল, আই,

আমি bugzilla.mozilla.org এ বৈশিষ্ট্যটির অনুরোধ করেছি, দয়া করে এখানে মন্তব্য করুন: https://bugzilla.mozilla.org/show_bug.cgi?id=775002

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