Hoe u met de rechtermuisknop opnieuw inschakelen, zodat ik HTML-elementen in Chrome kan inspecteren?

Ik kijk naar een webpagina die de knop met de rechtermuisknop heeft overschreven, dus om zijn eigen pop-up HTML-element weer te geven.

Dit voorkomt dat ik chrome-ontwikkelaarstools gebruikt om elementen te inspecteren.

Kent iemand een JavaScript-fragment dat ik van de Chrome-console kan injecteren
Om de rechtermuisknop opnieuw in te schakelen?

Ik ben in orde om de bestaande ‘met de rechtermuisknop’ te verbreken, dus om de HTML-elementen eenvoudig te kunnen inspecteren.

bedankt.


Antwoord 1, Autoriteit 100%

Als ze zojuist de oncontextmenuHandler (die de meest eenvoudige manier is om het te doen), kunt u hun override dus verwijderen:

window.oncontextmenu = null;

Anders, als het aan individuele elementen is gekoppeld, kunt u alle elementen van de pagina krijgen en vervolgens de handler op elke wijziging verwijderen:

var elements = document.getElementsByTagName("*");
for(var id = 0; id < elements.length; ++id) { elements[id].oncontextmenu = null; }

of, het lijkt erop dat u dergelijke scripts kunt uitschakelen; via een extensie in chroom of een – Schakel in het geavanceerde vakje voor JavaScript-opties uit ‘Uitschakelen of Vervang contextmenu’s ‘.


Antwoord 2, Autoriteit 53%

getest in chroom 60.0.3112.78.

Enkele van de bovenstaande methoden werken, maar het gemakkelijkst naar mijn mening is:

  1. Open Dev-gereedschap (Shift + Control + I).

  2. Selecteer het tabblad ‘Elementen’ en vervolgens het tabblad ‘Gebeurtenisluisteraars’.

  3. Beweeg over de elementen/luisteraar. Er verschijnt een knop “Verwijderen”.

  4. Klik op “Verwijderen”.

Bijvoorbeeld zie foto.


Antwoord 3, autoriteit 34%

Deze bookmarlet werkt op Google-sites/Youtube vanaf aug 2019 (getest in Chrome en Firefox):

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

Voor Peskier-sites, set / passeer agressief voor TRUE (dit zal de meeste gebeurtenishandlers uitschakelen en dus de interactie met de pagina uitschakelen):

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

Antwoord 4, autoriteit 28%

Het eenvoudigst is om de dev-tools te openen door op Cmd + Opt + I (Mac) of F12 (pc) te drukken. U kunt dan de zoekfunctie gebruiken (vergrootglas, linksboven op de werkbalk voor ontwikkelaarstools) om het element te selecteren.


Antwoord 5, autoriteit 25%

Ik bouwde voort op de @Chema-oplossing en voegde het resetten van pointer-eventsen user-selecttoe. Als ze zijn ingesteld op nonevoor een afbeelding, wordt door er met de rechtermuisknop op te klikken niet het contextmenu voor de afbeelding geopend met opties om deze te bekijken of op te slaan.

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]); enablePointerEvents(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(); } function enablePointerEvents(el) {  if (!el) return; el.style.pointerEvents='auto'; el.style.webkitTouchCallout='default'; el.style.webkitUserSelect='auto'; el.style.MozUserSelect='auto'; el.style.msUserSelect='auto'; el.style.userSelect='auto'; enablePointerEvents(el.parentElement); } enableContextMenu();

Antwoord 6, autoriteit 19%

u kunt de volgende code gebruiken om de rechtermuisknop opnieuw in te schakelen.

document.oncontextmenu = function(){}

en u kunt de sneltoets (Ctrl+Shift+i) gebruiken om inspect-elementen in Chrome in Windows OS te openen.


Antwoord 7, autoriteit 9%

Je zou javascript:void(document.oncontextmenu=null);kunnen gebruiken
open de browserconsole en voer de bovenstaande code uit. Het zal het blokkeren van de rechter muisknop uitschakelen


Antwoord 8, autoriteit 8%

Een andere mogelijke manier, wanneer de blokkeerfunctie is gemaakt met jQuery, gebruik:

$(document).unbind();

Het zal alle onmousedown en contextmenu-gebeurtenissen wissen die dynamisch zijn toegeschreven en die niet kunnen worden gewist met document.contextmenu=null; enz.


Antwoord 9

Hallo, ik heb een kortere versie. dit doet hetzelfde als een beste antwoord.
(het werkt op chrome 74.03)

document.querySelectorAll('*').forEach(e => e.oncontextmenu = null)

Antwoord 10

Aan de linkerkant van de Chrome Developer Tools-werkbalk bevindt zich een knop waarmee u een item kunt selecteren om te inspecteren, ongeacht de handlers van het contextmenu. Het ziet eruit als een vierkant met een pijl die naar het midden wijst.


Antwoord 11

Als geen van de andere opmerkingen werkt, open dan de consoleregelopdracht en typ:

document.oncontextmenu = null;

Antwoord 12

Als u “INSTELLINGEN > PRIVACY > JavaScript niet toestaan” in Chrome uitschakelt, wordt de rechtsklikfunctie ingeschakeld en kan de Firebug-console werken; maar schakelt ook alle andere JavaScript-codes uit.

De juiste manier om dit te doen is door alleen het specifieke JavaScript uit te schakelen; op zoek naar een van de volgende regels code:

  • Functie uitschakelenklik
  • Functie klik … return false;
  • body oncontextmenu=”return false;”

Antwoord 13

Ik heb zojuist ditbezocht site en het stoorde me echt,

Blijkbaar zijn er een aantal manieren om de muisklik uit te schakelen:

1)

<script language="javascript">
document.onmousedown=disableclick;
status="Right Click Disabled";
function disableclick(event)
{
  if(event.button==2)
   {
     alert(status);
     return false;    
   }
}
</script>

en

<body oncontextmenu="return false">

in dit geval is wat u moet doen in de dev-tools:

document.removeEventListener("onmousedown",disableclick);
document.oncontextmenu = function(){}

2)

flash gebruiken als inhoudswrapper – hier geen oplossing behalve het maken van een screenshot

3)

sommige sites willen voorkomen dat afbeeldingen worden gedownload via rechtermuisknop -> afbeelding opslaan als

dus wat ze doen is dit:

<div style="background-image: url(YourImage.jpg);">
   <img src="transparent.gif"/>
</div>

wat een transparante afbeelding is die zich over de volledige breedte en hoogte van het scherm verspreidt. Het enige wat u hoeft te doen is naar de elementeninspecteur gaan, de div zoeken en deze verwijderen.

In mijn geval deed #1 het goed


Antwoord 14

De manier waarop ik dit heb opgelost, was door de gebeurtenislisteners op de pagina te verwijderen. Nadat ik dat had gedaan, kon ik de tekst kopiëren en in mijn processor naar keuze plakken.


Antwoord 15

Als de pagina waarop u zich bevindt een tekstof tekstgebiedinvoer heeft, klik dan in deze invoer (alsof u tekst wilt invoeren) en klik met de rechtermuisknop en selecteer ‘Inspecteer element‘.


Antwoord 16

Open de inspectiemodus voordat u naar de pagina navigeert.
Het werkte.hehe


Antwoord 17

De gemakkelijkste manier die ik heb gevonden, is om de webpagina te openen in de leesmodus (browser die de leesmodus ondersteunt, zoals Safari, Firefox, enz.) en vervolgens zoals gewoonlijk te kopiëren


Antwoord 18

Gewoon Druk op F12

Ga naar Bronnen

Daar vindt u Rechts klikken inschakelen. Klik erop.

Hieronder vindt u web_accessible_resource.

Open het hierin vindt u index.js.

Druk op Ctrl + Fen zoek naar disabelRightClick. Daar vind je

       var disableRightClick = false;  

deze regel. Vervang deze regel door

       var disableRightClick = true;

Druk gewoon op Ctrl + s

!! Gedaan. Nu is uw rechtermuisknop ingeschakeld !!

Other episodes