ฉันจะตั้งให้ Google Chrome ไม่อนุญาตให้ใช้จาวาสคริปต์เพื่อจี้เมนูคลิกขวาของฉันได้อย่างไร


45

ฉันดูถูกเว็บไซต์ที่จี้ปุ่มขวาด้วยจาวาสคริปต์ เบราว์เซอร์อื่น ๆ (เช่น firefox) อนุญาตให้ฉันบล็อกเว็บไซต์ไม่ให้ทำเช่นนี้ Chrome มีตัวเลือกดังกล่าวหรือไม่หรือทิ้งฉันไว้กับความเมตตาของนักออกแบบเว็บไซต์ที่น่ารำคาญหรือไม่?

ฉันไม่ต้องการปิดจาวาสคริปต์อย่างสมบูรณ์ ฉันแค่ต้องการบล็อกจาวาสคริปต์ไม่ให้ยึดปุ่มเมาส์ขวาของฉัน Firefox ช่วยให้คุณหยุดจาวาสคริปต์ไม่ให้ทำสิ่งต่าง ๆ เช่นนี้ ฉันพยายามค้นหาว่า Chrome ทำเช่นนั้นหรือไม่ ฉันจะถือว่ามันไม่ได้อยู่ในจุดนี้

คำตอบ:


17

ลองใช้ส่วนขยาย Chrome นี้โดยจะหยุดเว็บไซต์ไม่ให้บล็อกปุ่มคลิกขวา

เปิดใช้งานการคลิกขวา

https://chrome.google.com/webstore/detail/enable-right-click/hhojmcideegachlhfgfdhailpfhgknjm


ดูเหมือนว่าจะมีแนวโน้ม!
ปีเตอร์

4
Chrome น่าผิดหวังจริง ๆ ต้องใช้ส่วนขยายสำหรับสิ่งนี้ แต่มันแก้ไขปัญหาได้ โหวตคำตอบแล้ว แต่ยังคงมองหาทางออกที่ดีกว่า
JM Becker

สิ่งนี้ได้ผลเหมือนมนต์เสน่ห์ ฉันพร้อมที่จะสร้างส่วนขยายของตัวเอง ยายเพื่อการวิจัย
จนถึง

7
@Karl Morrison: ฉันคิดว่าคุณอาจเข้าใจผิดคำวิจารณ์ของฉันฉันไม่ได้วิจารณ์ Chrome สำหรับการปิดใช้งานเมนูคลิกขวา ฉันหงุดหงิดที่ Chrome ไม่มีวิธีการปิดการใช้งานฟังก์ชั่นจาวาสคริปต์ นอกจากนี้ยังต้องการพูดถึงการปิดการใช้งานจาวาสคริปต์จะทำให้เว็บไซต์จำนวนมากไม่ทำงาน Firefox มีตัวเลือก Javascript "ปิดใช้งานหรือแทนที่บริบท"
JM Becker

1
@ อเล็กซานเดอร์ไม่ทำงาน ทดสอบบน Google เอกสารโดยใช้เบราว์เซอร์ Chrome
Pacerier

14

กดF12เพื่อนำเครื่องมือนักพัฒนา Google Chrome ออกมาและไปที่Consoleแท็บและเรียกใช้คำสั่งด้านล่าง:

document.oncontextmenu=null;

ควรนำเมนูบริบทส่วนใหญ่กลับมา

มันควรจะทำงานกับ Firefox เช่นกัน

แน่นอนใน Firefox คุณสามารถใช้Shift+ คลิกขวาเพื่อเลี่ยงผ่านเมนูบริบท JS


7
ใช้งานไม่ได้ ทดสอบบน Google เอกสารโดยใช้เบราว์เซอร์ Chrome
Pacerier

@Pierier ฉันไม่รู้ว่า Google ทำอะไรกับเวทมนต์ของ Google ในเอกสารมันไม่ได้ใช้ประโยชน์จาก oncontextmenu ดังนั้นโซลูชันของฉันจึงไม่ทำงาน อย่างไรก็ตามวิธีอื่นที่ฉันกล่าวถึงควรทำงานภายใต้ Chrome ด้วยเช่นกันใช้ Shift + คลิกขวาเพื่อแสดงเมนูบริบทดั้งเดิม
Shi B.

ใช้งานไม่ได้สำหรับฉัน
Ben Wheeler

1
เพื่อตอบโต้ความคิดเห็น "ไม่ทำงาน" - ใช้งานได้มันอาจไม่ได้ผลสำหรับทุกเว็บไซต์ แต่คำตอบจาก @ shi-b ใช้งานได้ ...
Robert Swift

มันจะขึ้นอยู่กับองค์ประกอบ dom ที่ eventmenener eventmenener แนบมา บ่อยครั้งที่มันจะเป็นเอกสาร แต่มันสามารถแนบกับองค์ประกอบใด ๆ
Scott Christopherson

4

ผมพบว่าวิธีการแก้ปัญหาที่ยอมรับจากAbout.com มันเป็น bookmarklet ขนาดเล็กซึ่งโดยธรรมชาติจะต้องคลิกเพื่อบังคับให้ปิดการใช้งาน JS ที่น่ารำคาญนี้โดยเฉพาะ อย่างไรก็ตามฉันคิดว่ามันดีกว่าตัวเลือกสไตล์ Firefox เนื่องจากมีเว็บไซต์จำนวนมากที่ต้องใช้การคลิกขวาเพื่อควบคุม JS เช่น Google เอกสาร ฯลฯ ...

อย่างน้อยฉันไม่จำเป็นต้องเปลืองทรัพยากรในการจัดเก็บส่วนขยายเพิ่มเติมในหน่วยความจำ คุณสามารถดูวิธีที่ Chrome จัดเก็บส่วนขยายกับตัวจัดการงานของหยาบคุณต้องติดตั้งส่วนขยายเพื่อดู


javascript:void(document.onmousedown=null);void(document.onclick=null);void(document.oncontextmenu=null)รหัส น่าเสียดายที่ใช้งานไม่ได้กับฉันใน Netflix ด้วย Google Chrome แต่chrome.google.com/webstore/detail/allow-right-click/... ทำงาน
Aaron Thoma

2

ฉันใช้ NotScripts

แก้ไข:

ฉันเปลี่ยนเป็น ScriptNoซึ่งมีการควบคุมที่ละเอียดยิ่งขึ้น


1
นั่นช่วยให้คุณสามารถควบคุมสิ่งที่จาวาสคริปต์สามารถทำได้และไม่สามารถทำได้บนหน้าเว็บหรือมันแค่บล็อกจาวาสคริปต์ด้วยกันไหม?
ปีเตอร์

มันบล็อก js ตามโดเมนแต่ละโดเมนที่คุณเลือกขึ้นอยู่กับว่าคุณหมายถึงอะไรด้วยการคลิกขวาของคุณคุณหมายถึงมันเปลี่ยนเมนูบริบทหรือไม่
Moab

3
ใช่. ฉันต้องการความสามารถในการหยุดจาวาสคริปต์จากการใช้เหตุการณ์การคลิกเมาส์ที่มาจากปุ่มเมาส์ขวาของฉัน
ปีเตอร์

โซลูชันอื่นไม่ใช่ grata แต่ขั้นตอนใหญ่ข้างบนปิดใช้งาน JS อย่างสมบูรณ์ ฉันใช้ FireFox noscript ซึ่งยังใช้งานได้ยาก แต่ Chrome notscripts นั้นแย่ยิ่งกว่าเดิม พวกเขาทั้งสองต้องการการแทรกแซงโดยผู้ใช้และเพียงแค่เปิด / ปิดการใช้งาน JS อย่างสมบูรณ์ต่อโดเมน หากคุณต้องการแก้ปัญหาการปิดใช้งาน JS DOM เฉพาะที่ละเอียดทำให้ทั้งคู่ไม่เพียงพอ ถึงแม้จะเป็นผิวของฟันมันก็ดีพอที่จะหลีกเลี่ยงการลงคะแนนของฉัน
JM Becker

@TechZilla ตรวจสอบการแก้ไขของฉันด้านบน
Moab

0

หนังสือเล่มนี้ทำงานได้ในเว็บไซต์ Google / Youtube ตั้งแต่วันที่สิงหาคม 2562 (ทดสอบใน Chrome และ Firefox):

javascript: function enableContextMenu(aggressive = false) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

สำหรับไซต์ peskier ให้ตั้งค่า / ส่งข้อมูลเชิงรุกเป็นจริง (ซึ่งจะปิดใช้งานตัวจัดการเหตุการณ์ส่วนใหญ่และปิดการใช้งานการโต้ตอบกับหน้าเว็บ):

javascript: function enableContextMenu(aggressive = true) { void(document.ondragstart=null); void(document.onselectstart=null); void(document.onclick=null); void(document.onmousedown=null); void(document.onmouseup=null); void(document.body.oncontextmenu=null); enableRightClickLight(document); if (aggressive) { enableRightClick(document); removeContextMenuOnAll("body"); removeContextMenuOnAll("img"); removeContextMenuOnAll("td"); } } function removeContextMenuOnAll(tagName) { var elements = document.getElementsByTagName(tagName); for (var i = 0; i < elements.length; i++) { enableRightClick(elements[i]); } } function enableRightClickLight(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); } function enableRightClick(el) { el || (el = document); el.addEventListener("contextmenu", bringBackDefault, true); el.addEventListener("dragstart", bringBackDefault, true); el.addEventListener("selectstart", bringBackDefault, true); el.addEventListener("click", bringBackDefault, true); el.addEventListener("mousedown", bringBackDefault, true); el.addEventListener("mouseup", bringBackDefault, true); } function restoreRightClick(el) { el || (el = document); el.removeEventListener("contextmenu", bringBackDefault, true); el.removeEventListener("dragstart", bringBackDefault, true); el.removeEventListener("selectstart", bringBackDefault, true); el.removeEventListener("click", bringBackDefault, true); el.removeEventListener("mousedown", bringBackDefault, true); el.removeEventListener("mouseup", bringBackDefault, true); } function bringBackDefault(event) { event.returnValue = true; (typeof event.stopPropagation === 'function') && event.stopPropagation(); (typeof event.cancelBubble === 'function') && event.cancelBubble(); } enableContextMenu();

-1

คุณสามารถเปิด / ปิดการใช้งานหรืออนุญาต / บล็อก Javascript บนเว็บไซต์ใด ๆ ใน Google chrome ได้อย่างง่ายดาย เพียงคลิกที่ป้ายกระดาษหน้า URL ของเว็บไซต์ ภายใต้การอนุญาตที่คุณจะเห็น javescript ให้คลิกลูกศรลงคุณจะเห็นเมนูเลือก "ปิดกั้นเว็บไซต์นี้เสมอ" และโหลดหน้าเว็บซ้ำเพื่อให้การเปลี่ยนแปลงมีผล

หวังว่าจะช่วยได้

นี่คือลิงค์ไปยังรูปภาพ

https://www.facebook.com/photo.php?fbid=10201389704683447&l=5294c0075e


2
ฉันไม่พยายามบล็อคจาวาสคริปต์ทั้งหมด ฉันต้องการบล็อกจาวาสคริปต์จากการดักจับการคลิกเมาส์ขวา เบราว์เซอร์บางตัวมีตัวเลือกให้คุณ
ปีเตอร์

-1

ฉันพบส่วนขยายของโครเมี่ยมนี้RightToCopy

มันช่วยให้คลิกขวาและเลือกและคัดลอกคุณสมบัติข้อความจากเว็บไซต์


-1

การสร้างโซลูชัน Shi B. ฉันมีวิธีที่เชื่อถือได้ในการแก้ไขปัญหาบน Google Chrome

(1) รับปลั๊กอินJavaScript แบบกำหนดเองสำหรับ Chrome

(2) วางdocument.oncontextmenu=null;ลงในคอนโซลของปลั๊กอิน

ทำงานเหมือนจับใจ


(ฉันรู้ว่านี่เก่า แต่ฉันอยากรู้อยากเห็นมากเกินไปที่จะปล่อยให้มัน) ทำไมในโลกนี้คุณจะใช้มันแทนคอนโซลเริ่มต้นสำหรับสิ่งนี้ สำหรับฉันมันดูเหมือนเป็นวิธีที่ยากกว่าในการบรรลุถึงสิ่งเดียวกัน
Dennis Krøger

1
ในกรณีของฉันฉันกลับมาที่เว็บไซต์เดียวกัน (Dropbox Paper) ดังนั้นจึงมีสคริปต์ที่ดำเนินการโดยอัตโนมัติสำหรับเว็บไซต์หนึ่ง โชคดีที่ บริษัท ซ่อม
Karolis

document.oncontextmenu=null;ไม่ทำงานบน sheets.google.com ใน chrome
xaxxon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.