habilitar - Extensión de Google Chrome: ¿cómo activar/desactivar JavaScript?
javascript no funciona en chrome (5)
Actualmente, NO podemos acceder a Chrome / Configuraciones / Datos de contenido con tu extensión de Chrome
En mi código, cuando se creó la pestaña "chrome: // settings / content", la alerta (0) NO funciona, y siempre aparece el siguiente error:
Error durante tabs.executeScript: no se puede acceder a los contenidos de la url "chrome: // settings / content". El manifiesto de extensión debe solicitar permiso para acceder a este host.
pero cuando se creó la pestaña "http://www.google.com.mx", alerta (0) funciona.
Así que creo que NO podemos acceder a chrome: // settings / * data:
popup.html:
<html>
<head>
<script>
function openSetting() {
chrome.tabs.create({"url":"chrome://settings/content", "selected":true});
}
function openGoogle() {
chrome.tabs.create({"url":"http://www.google.com.hk", "selected":true});
}
//chrome.browserAction.onClicked.addListener(enableDisableImage);
chrome.tabs.onCreated.addListener(function(tab) {
chrome.tabs.executeScript(null, {code:"alert(0)"});
});
</script>
</head>
<body>
<input type="button" onClick="openSetting()" value="Switch"/>
<input type="button" onClick="openGoogle()" value="Switch"/>
</body>
</html>
manifest.json:
{
"name": "ImageSwitcher",
"version": "1.0",
"description": "Disable/Enable loading image",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"*://*/*"
]
}
¿Es posible activar / desactivar JavaScript con una extensión de Google Chrome hecha a sí misma ?
Por ejemplo, en el navegador Opera, hay posibilidades simples de hacerlo con widgets, botones creados por el usuario , etc., pero no encontré ninguna solución para hacerlo en Chrome (mi primera fuente fue la documentación oficial de las extensiones de Google Chrome). )
Un aspecto extraño es que necesito JavaScript para ejecutar la extensión en sí ... si puedo desactivar JavaScript con una extensión, ¿puedo seguir usando JavaScript en mi extensión después de hacerlo?
Editar:
¡Ya es posible hacerlo a través de chrome.contentSettings.javascript !
Vea este ejemplo que muestra cómo usarlo (extensión Quick JavaScript Switcher , que mlb enlazó aquí ).
Ahora es posible con la API ContentSettings,
y hay una extensión llamada Quick Javascript Switcher que enciende / apaga javascript sobre la marcha: https://github.com/maximelebreton/quick-javascript-switcher
QJS en Chrome Webstore: https://chrome.google.com/webstore/detail/geddoclleiomckbhadiaipdggiiccfje
¡Disfruta!
seo: https://chrome.google.com/webstore/detail/geddoclleiomckbhadiaipdggiiccfje
Ahora es posible con la versión de lanzamiento de Chrome (a partir de Chrome 16) para activar y desactivar java-script desde una extensión.
Aquí hay una extensión que hace justamente eso:
https://chrome.google.com/webstore/detail/geddoclleiomckbhadiaipdggiiccfje
Esa es la única forma que funcionó para mí para evitar que la extensión de Chrome ejecute javascript. Pega este código:
function exit() {
''use strict'';
window.addEventListener(''error'', function (e) {e.preventDefault();e.stopPropagation();}, false);
let handlers = [
''copy'', ''cut'', ''paste'',
''beforeunload'', ''blur'', ''change'', ''click'', ''contextmenu'', ''dblclick'', ''focus'', ''keydown'', ''keypress'', ''keyup'', ''mousedown'', ''mousemove'', ''mouseout'', ''mouseover'', ''mouseup'', ''resize'', ''scroll'', ''selectstart'',
''DOMNodeInserted'', ''DOMNodeRemoved'', ''DOMNodeRemovedFromDocument'', ''DOMNodeInsertedIntoDocument'', ''DOMAttrModified'', ''DOMCharacterDataModified'', ''DOMElementNameChanged'', ''DOMAttributeNameChanged'', ''DOMActivate'', ''DOMFocusIn'', ''DOMFocusOut'', ''online'', ''offline'', ''input'',
''abort'', ''close'', ''drop'', ''dragstart'', ''drag'', ''load'', ''paint'', ''reset'', ''select'', ''submit'', ''unload''
];
function eventHandler(e) {
e.stopPropagation();
// e.preventDefault(); // Stop for the form controls, etc., too?
}
for(let i=0; i < handlers.length; i++) {
window.addEventListener(handlers[i], eventHandler, true);
}
if(window.stop) {
window.stop();
}
Array.prototype.forEach.call(document.querySelectorAll("*"), el => {
if( document.defaultView.getComputedStyle(el)["-webkit-user-select"] == "none" ) {
//el.style.webkitUserSelect = "auto";
el.style.setProperty("-webkit-user-select", "auto", "important");
}
});
throw '''';
}
exit();
Parece que actualmente no es posible para las extensiones deshabilitar el soporte de JavaScript. Incluso hay una solicitud de función para eso en el sitio de seguimiento de Chromium. Necesitamos ser pacientes y esperar hasta que Google decida apoyar eso.