Google Chrome'u javascript’in sağ tıklama menümü kaçırmasına izin vermeyecek şekilde nasıl ayarlarım?


45

Farenin sağ tuşunu javascript ile kaplayan web sitelerini küçümsüyorum. Diğer tarayıcılar (firefox gibi) sitelerin bunu yapmasını engellememe izin veriyor. Chrome'un böyle bir seçeneği var mı, yoksa beni sinir bozucu web sitesi tasarımcılarının insafına bırakıyor mu?

Javascript'i tamamen kapatmak istemiyorum. Sadece javascript'in farenin sağ düğmesine basmasını engellemek istiyorum. Firefox, javascript'in böyle şeyler yapmasını önlemenizi sağlar. Chrome'un da yapıp yapmadığını bulmaya çalışıyorum. Bu noktada olmadığını varsayacağım.

Yanıtlar:


17

Bu Chrome uzantısını deneyin; web sitelerinin özellikle sağ tıklama düğmesini engellemesini önler.

Sağ Tıklamayı Etkinleştir

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


bu umut verici görünüyor!
Peter,

4
Hayal kırıklığı yaratan bir krom var bunun için bir uzantı gerektiriyor, ancak sorunu çözüyor. Oy verildi cevap, ama yine de daha iyi bir çözüm arıyor.
JM Becker

Bu bir cazibe gibi çalıştı. Kendi uzantımı oluşturmaya hazırlanıyordum. Araştırma için Yay.
Till

7
@Karl Morrison: Benim eleştirimi yanlış anlamış olabileceğini düşünüyorum, sağ tıklama menüsünü devre dışı bıraktığı için kromu eleştirmiyordum. Chrome'un Javascript işlevlerini seçerek devre dışı bırakmak için bir yöntem sağlamadığı için sinirlenmiştim. Ayrıca JavaScript’in devre dışı bırakılmasının birçok siteyi işlevsiz hale getireceğini belirtmek isteriz. Firefox bir "İçerik menülerini devre dışı bırak veya değiştir" Javascript seçeneği sunar.
JM Becker

1
@Alexander, çalışmıyor. Chrome tarayıcısını kullanarak Google Dokümanlar'da test edildi.
Pacerier

14

Basın F12dışarı ve gezinmek Google Chrome Geliştiriciler Araçlar getirmek Consolesekme ve komut aşağıda çalıştırın:

document.oncontextmenu=null;

Bağlam menüsünün çoğunu geri getirmelidir.

Firefox için de çalışması gerekir.

Tabii ki Firefox'ta ShiftJS bağlam menüsünü atlamak için sadece + sağ tıklamayla kullanabilirsiniz.


7
Çalışmıyor Chrome tarayıcısını kullanarak Google Dokümanlar'da test edildi.
Pacerier

@Pacerier Google’ın Google’da Dokümanlar’da kullandığı voodoo büyüsünü bilmiyorum, bu bağlamda kullanılamaz ve bu yüzden benim çözümüm işe yaramıyor. Ancak, bahsettiğim diğer yöntem de Chrome'da çalışmalı, orijinal içerik menüsünü getirmek için Shift + sağ klik kullanın.
Shi B.

Benim için çalışmıyor.
Ben Wheeler

1
"İşe yaramadı" yorumlarına karşı koymak - bu işe yarıyor, her web sitesi için işe yaramayabilir, ama @ shi-b'nin cevabı işe yarıyor ...
Robert Swift

O bağlamsal olay listesinin hangi dom öğesine bağlı olduğuna bağlı olacaktır. Genellikle belge olur, ancak herhangi bir elemana eklenebilir.
Scott Christopherson

4

About.com'dan kabul edilebilir bir çözüm buldum . Bu can sıkıcı JS'yi etkisiz hale getirmek için doğası gereği tıklanması gereken küçük bir yer imi. Ancak, Firefox tarzı seçeneğinden daha iyi buluyorum, çünkü birçok site JS'yi sağ tıklatma kontrolüne ihtiyaç duyuyor. Örneğin Google Dokümanlar vb ...

En azından bellekte ek bir eklenti depolamak için kaynakları boşa harcamaya ihtiyacım yok. Chrome'un uzantıların görev yöneticisi ile birlikte nasıl depolandığını izleyebilir, izlemek için bir uzantıya ihtiyacınız vardır.


Kod javascript:void(document.onmousedown=null);void(document.onclick=null);void(document.oncontextmenu=null). Ne yazık ki benim için Google Chrome ile Netflix'te çalışmıyor . Ancak chrome.google.com/webstore/detail/allow-right-click/… çalıştı .
Aaron Thoma

2

NotScripts kullanıyorum

DÜZENLE:

I olan ScriptNo geçiş daha ayrıntılı bir kontrol bulunur,


1
Bu, javascript'in sayfada yapabileceklerini ve yapamadıklarını kontrol etmenize izin veriyor mu, yoksa sadece javascript'i tamamen engelliyor mu?
Peter,

Alan adlarına göre js'yi engeller, sizin tarafınızdan seçilebilen her alan, sağ tıklamanızın ne anlama geldiğine bağlı olarak değişir, içerik menünüzü değiştirdiğini mi kastediyorsunuz?
Moab

3
Evet. Ben javascript sağ fare düğmemden gelen fare tıklama olayları kullanmasını durdurmak için yeteneği istiyorum.
Peter

Grata olmayan başka bir çözüm, ancak tamamen engelli JS yukarıda büyük bir adım. Hala kullanışlı olmayan FireFox noscript kullandım, ancak Chrome notscripts aslında daha da kötü. Her ikisi de bir manuel müdahale kavramına ihtiyaç duyar ve temel olarak JS'yi alan başına tamamen etkinleştirir / devre dışı bırakır. Sorunu, ince taneli belirli JS DOM devre dışı bırakma sorununu çözmek istiyorsanız, her ikisi de yeterli değildir. Her ne kadar dişlerin derisi tarafından, benim oyumdan kaçınmak için yeterince iyi.
JM Becker

@TechZilla yukarıdaki düzenlememi kontrol et
Moab

0

Bu kitapçık, Ağustos 2019’dan itibaren Google sitelerinde / Youtube’da çalışmaktadır (Chrome ve Firefox’ta test edilmiştir):

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();

Pesli siteler için, agresif olarak true olarak ayarlayın / iletin (bu, çoğu olay işleyicisini devre dışı bırakır ve bu nedenle sayfa ile etkileşimi devre dışı bırakır):

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'i Google chrome'daki herhangi bir web sitesinde kolayca etkinleştirebilir / devre dışı bırakabilir veya izin verebilir / engelleyebilirsiniz. Site URL'sinden önce kağıt işaretini tıklamanız yeterlidir. Javascript göreceksiniz izinler altında, bir menü göreceksiniz aşağı ok tıklayın, "Bu sitede her zaman engelle" seçin ve değişikliklerin etkili olması için web sayfasını yeniden yükleyin.

Umarım bu yardımcı olur.

İşte resmin bağlantısı.

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


2
Tüm javascriptleri engellemeye çalışmıyorum. Ben sadece javascript sağ fare tıklamaları araya girmesini engellemek istiyorum. Bazı tarayıcılar size bu seçeneği sunar.
Peter


-1

Shi B. çözümünü geliştirmek, sorunu Google Chrome'da çözmenin güvenilir bir yolunu buldum.

(1) Chrome için özel javascript-web eklentisi edinin .

(2) document.oncontextmenu=null;Eklentinin konsoluna yapıştırın .

Tıkır tıkır çalışıyor.


(Bunun eski olduğunu biliyorum, ama olmasına izin vermeyi çok merak ediyorum) Neden dünyada bunun için varsayılan konsol yerine bunu kullandınız? Bana göre sadece aynısını başarmanın daha zor bir yolu gibi görünüyor.
Dennis Krøger

1
benim durumumda, aynı web sitesine geri dönüyordum (Dropbox Paper). Bu yüzden otomatik olarak bir komut dosyası için bir web sitesi için o komut dosyasını çalıştırdı. Neyse ki, şirket
tamir

document.oncontextmenu=null;sheets.google.com adresinde chrome ile çalışmaz.
xaxxon
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.