Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

322
Visualizações
¿Cómo evitar que el código javascript "mi propio" abra una nueva ventana?

Este es dificil ...

Tengo esta tarea de construir un módulo para un gran sistema hecho con PHP. La regla más importante es que no puedo tocar el código del sistema central, por lo que no puedo corregir algunos de sus errores.

El servicio principal de mi módulo es crear un documento personalizado que no es editado por el editor predeterminado del sistema, sino por un formulario personalizado creado por mi módulo.

Para evitar que los usuarios editen el documento personalizado en lugar de completar el formulario, puedo configurar el documento como blocked en el momento de la creación.

Pero incluso con el documento bloqueado, el sistema abre su editor predeterminado en una nueva ventana emergente y luego muestra un mensaje de error incorrecto que no tiene nada que ver con el bloqueo, y está jugando con las cabezas de los usuarios.

Podría arreglar esto en un minuto cambiando algunas líneas en el código central, pero luego perdería mi trabajo. Tampoco puedo pedirle al propietario del sistema que solucione el problema porque tardaría una eternidad (el propietario es de una institución pública).

La función del sistema es así:

  1. Cuando el usuario crea un documento, pasa la ejecución a una función en cada módulo, por lo que estos módulos podrían tener la posibilidad de reaccionar a la creación del documento;
  2. El módulo recibe datos sobre el documento creado y verifica si su tipo es el tipo de documento personalizado, luego lo bloquea si es verdadero;
  3. El módulo devuelve la ejecución al sistema de código, que termina de crear el documento (por lo que no puedo usar die() , de lo contrario, el documento no se crea en absoluto);
  4. El sistema abre un editor para que el usuario pueda poner contenido en él.

Así que se me ocurrió la idea de que mi módulo podría, después de bloquear el documento, generar una etiqueta javascript con un código que evitaría que el código javascript creado por el sistema central use el comando window.open() , o al menos ocultar esta ventana emergente. .

¿Hay alguna manera de hacerlo con javascript?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede sobrescribir la apertura si su código puede ejecutarse antes de que ocurra la apertura:

 const myOpen = window.open; let iwanttopen = false: window.open = function() { if (iwanttoopen) return myOpen(...arguments); // here YOU decide }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda