Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

242
Views
¿Puedo emular/provocar una falla al copiar al portapapeles desde JS en Chrome?

Tengo una página web con código JavaScript que copia cosas en el portapapeles de forma similar a lo que hace esta demostración: https://davidwalsh.name/demo/javascript-copy-clipboard.php

Mi código es algo como esto:

 // Within a listener that is triggered by a click on some button: var copiedText = "...something"; navigator.clipboard.writeText(copiedText).then( function() { console.log("Succesfully copied"); }, function() { console.log("FAILED to copy!!!!!!"); } );

Esto funciona bien, pero siempre tiene éxito. Necesito probar que el comportamiento es correcto cuando la copia falla por cualquier motivo.

¿Cómo puedo hacer que la copia falle a propósito para poder probar el comportamiento de mi código en esa situación?

Nunca recibo un aviso pidiéndome permiso para escribir en el portapapeles.

En Chrome, he intentado ir a la configuración del sitio y, en "Portapapeles", seleccionar "Bloquear", pero no hace nada (supongo que eso es solo para leer desde el portapapeles).

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Claro, solo proporcione un argumento no válido que generará una excepción durante el algoritmo de encadenamiento:

Tenga en cuenta que esta demostración funcionará en su propia página, pero el caso de éxito no funcionará en el espacio aislado iframe del fragmento de código de desbordamiento de pila (donde no hay permiso de portapapeles).

 function copyThenLog (input) { navigator.clipboard.writeText(input).then( () => console.log({success: true}), (ex) => { console.log({success: false}); console.error(ex); }, ); } document.querySelector('.success').addEventListener('click', () => { const input = 'hello world'; copyThenLog(input); }); document.querySelector('.fail').addEventListener('click', () => { const input = { toString () { throw new Error('Oops'); } }; copyThenLog(input); });
 <div class="success">Click me to succeed</div> <div class="fail">Click me to fail</div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!