उपयोगकर्ता द्वारा उन वेबसाइटों को बाईपास करना जो ब्राउज़र में राइट क्लिक को अक्षम करती हैं?


4

मैं एक वेबसाइट का उपयोग कर रहा हूं जो उनके HTML स्रोत में निम्न कोड का उपयोग करती है (जैसा कि चर्चा की गई है यहाँ स्टैक ओवरफ्लो पर), वेब पेज पर राइट-क्लिक को अक्षम करने के तरीके के रूप में:

<body oncontextmenu="return false;">

मैं स्थायी रूप से और इसे स्वचालित रूप से बायपास करने के लिए (क्रोम या फ़ायरफ़ॉक्स का उपयोग करके) - बिना जावास्क्रिप्ट को पूरी तरह से बंद करने का सबसे आसान तरीका मान रहा हूं - पृष्ठ से एचटीएमएल कोड के इस स्ट्रिंग को हटाने के लिए एक सरल उपयोगकर्तास्क्रिप्ट बनाना है (जैसा कि डेवलपर टूल के साथ ऐसा करता है) प्रतिबंध को हटा देता है), इसलिए उपयोगकर्ता-पत्र में प्रभावी रूप से इस स्ट्रिंग को प्रतिस्थापित किया जाता है:

 oncontextmenu="return false;"

कुछ भी नहीं - इसके प्रतिस्थापन के रूप में कोई वर्ण नहीं।

क्या यह पूरी तरह से जावास्क्रिप्ट को बंद करने के बिना इस प्रतिबंध को बायपास करने का सबसे अच्छा तरीका है (डोमेन पर अन्य वास्तव में उपयोगी स्क्रिप्ट सहित), और यदि ऐसा है तो इसे करने के लिए कोड क्या होगा?


1
अधिकांश ब्राउज़र में संदर्भ मेनू ओवरराइड को ब्लॉक करने का विकल्प होना चाहिए (FF में ऐसा लगता है about:config dom.event.contextmenu.enabled )
ratchet freak

नोटिंग: इसे सेट करने की आवश्यकता है false इस प्रभाव के लिए .... नहीं (डिफ़ॉल्ट?) true

जवाबों:


1

फ़ायरफ़ॉक्स में, खोलें about: config और सेट करें dom.event.contextmenu.enabled सेवा मेरे false। यह सभी वेबसाइटों के लिए ध्यान रखना चाहिए, लेकिन यह कुछ राइट-क्लिक सुविधाओं को भी अक्षम करता है जो बहुत कम वेबसाइट जोड़ते हैं।

अन्यथा, उपयोगकर्ता इस विशेष वेबसाइट के लिए गंदगी सरल प्रतीत होता है। यहाँ पूरी स्क्रिप्ट है:

// ==UserScript==
// @name     _Stop contextmenu vandalism
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// ==/UserScript==

document.body.removeAttribute ("oncontextmenu");

बस समायोजित करें YOUR_SERVER.COM/YOUR_PATH जैसी जरूरत थी।


धन्यवाद, यह सब काम करता है। ध्यान रखें कि मुझे अपना स्वयं का उपयोगकर्ता कोड बनाना था और आपको बिल्कुल चिपकाना था (बार कस्टमाइज़िंग @include लाइन) काम नहीं किया था, इसे काम करने के लिए लगने वाली लाइनों को पाने के लिए फ़ायरफ़ॉक्स में एक नया बनाना था, लेकिन आपके द्वारा प्रदान की गई महत्वपूर्ण लाइन , धन्यवाद!

किसी कारण से, विंडोज से मैक (Mavericks) में माइग्रेट होने के बाद, और क्रोम संस्करण या सॉफ़्टवेयर-वार के अलावा कुछ भी सामान्य नहीं है, यह मेरे मैक के क्रोम में काम नहीं करता है जहां यह विंडोज में किया था। हालांकि, इस तरह की स्क्रिप्ट बचाव में आ गई है और यह उन अधिक व्यापक लाइनों के साथ काम करती है: userscripts.org/scripts/review/384729

आगे का अपडेट: मुझे एक निश्चित साइट के टेक्स्ट सेलेक्शन ब्लॉक से भी आगे निकलने की जरूरत थी, और मैं पहले तो मैन्युअल रूप से बेवकूफ बनाना चाह रहा था, लेकिन अंत तक, मुझे लग रहा है कि यह स्क्रिप्ट मेरे लिए अब तक आसानी से काम कर रही है: userscripts.org/scripts/review/164646

कुछ प्रमुख वेबसाइट जैसे मेगा और वनड्राइव अपने स्वयं के संदर्भ मेनू का उपयोग करते हैं।
user598527
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.