Ottieni contenuti di appunti attuali?

Mi piacerebbe conoscere un modo per far sì che il mio script rilevi il contenuto degli appunti e lo incolli in un campo di testo quando la pagina viene aperta, senza input da parte dell’utente. Come può essere fatto?

Non si può veramente sapere cosa c’è negli appunti di un utente a meno che non si sia utilizzato una sorta di back-end flash quando hanno copiato il testo.


Aggiornamento: una risposta più corretta qui

window.clipboardData.getData('Text') funzionerà in alcuni browser. Tuttavia, molti browser in cui funziona chiedono all’utente se desidera o meno che la pagina Web abbia accesso agli Appunti.

Puoi usare

 window.clipboardData.getData('Text') 

per ottenere il contenuto degli appunti degli utenti in IE. Tuttavia, in altri browser potrebbe essere necessario utilizzare il flash per ottenere il contenuto, poiché non esiste un’interfaccia standard per accedere agli Appunti. Potresti aver provato questo plugin Zero Clipboard

A seconda di quando leggi questo, la nuova API degli appunti può essere disponibile, tramite navigator.clipboard . Può essere usato in questo modo:

 navigator.clipboard.readText() .then(text => { console.log('Pasted content: ', text); }) .catch(err => { console.error('Failed to read clipboard contents: ', err); }); 

Tieni presente che questo richiederà all’utente una finestra di dialogo di richiesta di authorization, quindi purtroppo non ci sono affari divertenti.

Altro su questo

Spec

Di seguito ti fornirò il contenuto selezionato e l’aggiornamento degli appunti.

Associare l’id dell’elemento con l’evento di copia e quindi ottenere il testo selezionato. È ansible sostituire o modificare il testo. Prendi gli appunti e imposta il nuovo testo. Per ottenere la formattazione esatta è necessario impostare il tipo “text / hmtl”. Puoi anche associarlo al documento anziché all’elemento.

  $(ElementId).bind('copy', function(event) { var selectedText = window.getSelection().toString(); selectedText = selectedText.replace(/\u200B/g, ""); clipboardData = event.clipboardData || window.clipboardData || event.originalEvent.clipboardData; clipboardData.setData('text/html', selectedText); event.preventDefault(); });