habilitar desactivar depurar debug como chrome celular activar javascript browser user-agent

desactivar - habilitar javascript en chrome en windows



¿Cómo puedo engañar a un sitio que mira el ''navegador'' del objeto JavaScript para ver que no estoy en Windows? (6)

Dado que no puede configurar directamente navigator.platform , tendrá que ser sigiloso: cree un objeto que se comporte como navigator , reemplace su platform y luego navigator .

var fake_navigator = {}; for (var i in navigator) { fake_navigator[i] = navigator[i]; } fake_navigator.platform = ''MyOS''; navigator = fake_navigator;

Si ejecuta este código antes de que se cargue el documento (utilizando GreaseMonkey, un complemento o una extensión de Chrome), la página verá navigator.platform como "MyOS" .

Nota: probado solo en Chrome.

Estoy tratando de navegar por un sitio web, sin embargo, solo funciona en Windows y Mac porque usan la navigator.platform de navigator.platform de JavaScript para averiguar la arquitectura en la que estoy ejecutando. Por supuesto, también usan el agente de usuario del navegador, pero eso fue fácil de falsificar.

Aquí está el .js en cuestión: http://pastebin.com/f56fd608d . El código responsable de la detección del navegador está en la parte superior. ¿Hay alguna forma de cambiar el archivo .js antes de que se ejecute el sitio, o algo similar, para que pueda eliminar el cheque?

Usando los rendimientos de la consola de JavaScript:

>navigator.platform
Linux i686

Evidentemente, cambié el agente de usuario del navegador, pero navigator.platform no parece tomar su valor del agente de usuario.

Tal vez alguien sepa cómo cambiar el valor devuelto por navigator.platform , porque odio ejecutar Windows en VirtualBox para usar este sitio.

EDITAR: Esto podría ser de interés porque a los usuarios de Linux se les puede negar artificialmente el acceso a los sitios web, y no pueden hacer nada al respecto.


Intentar cambiar esta propiedad (en cualquier momento) en Firefox produce:

Error: establecer una propiedad que solo tiene un captador

Archivo de origen: index.html

Línea 1

Así que creo que lo pasarás mal.

Intentaría contactar al autor para obtener una solución.



Siempre que el navegador que usa sea compatible con Object.defineProperty() (es probable que lo haga), una forma más moderna de lograr el mismo objetivo es la siguiente:

Object.defineProperty(navigator, ''platform'', { value: ''my custom value'', configurable: true // necessary to change value more than once });

Esto le permite configurarlo a cualquier valor personalizado que desee, y también le permite cambiarlo tantas veces como desee sin necesidad de volver a cargar la página.


acerca de: config -> general.platform.override


var fakePlatformGetter = function () { return "your fake platform"; }; if (Object.defineProperty) { Object.defineProperty(navigator, "platform", { get: fakePlatformGetter }); } else if (Object.prototype.__defineGetter__) { navigator.__defineGetter__("platform", fakePlatformGetter); }