Spiegare la differenza tra document.hidden
, l'HTML5 Page Visibility API e document.hasFocus()
. Sto facendo un progetto che appare HTML5 Desktop Notification
quando la scheda non è a fuoco. Sono un po 'confuso quale usare.Differenza tra document.hidden vs document.hasFocus()
risposta
Il hidden
attribute si definisce in questo modo:
Su come ottenere, l'attributo
hidden
deve restituire true se l' Document contenuto dal ( finestra root nella finestra del browser) top level browsing context non è visibile a tutti. L'attributo DEVE restituire false se lo Document contenuto dallo top level browsing context è almeno parzialmente visibile su almeno uno schermo .Se la defaultView del Document è nullo, su come ottenere l'attributo
hidden
devono tornare vero.
Il hasFocus
method è definita come questo
Procedimento
hasFocus()
suDocument
oggetti deve restituire true se è focalizzata la s' browsing contextDocument
, e tutti i suoi ancestor browsing contexts concentriamo, e il top-level browsing context ha lo stato del sistema . SeDocument
non ha browsing context o se il suo browsing context non ha top-level browsing context, il metodo restituirà sempre false.
Ad esempio, se si apre una pagina in una scheda in primo piano, e quindi si apre un'altra finestra, la scheda sarà (o potrebbe) essere ancora parzialmente visibile, quindi hidden
restituisce false. Tuttavia, la nuova finestra ha lo stato attivo, pertanto hasFocus()
restituisce false per la scheda.
Se si esegue il seguente frammento di codice, il documento all'interno del iframe saranno visibili, ma non avrà messa a fuoco (questa pagina StackOverflow si concentra invece):
document.body.innerHTML =
'<p>hidden: ' + document.hidden + '</p>' +
'<p>hasFocus: ' + document.hasFocus() + '</p>';
Ma in questo altro, dal momento che si fa clic sul pulsante all'interno del iframe, è sia visibile e mirata:
document.getElementsByTagName('input')[0].onclick = function() {
document.body.innerHTML =
'<p>hidden: ' + document.hidden + '</p>' +
'<p>hasFocus: ' + document.hasFocus() + '</p>';
};
<input type="button" value="Click me!" />
- 1. differenza tra session.evict vs chiaro
- 2. Differenza tra "get' VS 'getProperty'
- 3. Differenza tra DataContractSerializer vs XmlSerializer
- 4. Differenza tra NSWindowController Vs NSViewController
- 5. Differenza tra carico vs DOMContentLoaded
- 6. Differenza tra oracle.sql.BLOB.DURATION_CALL vs oracle.sql.BLOB.DURATION_SESSION
- 7. Differenza tra IIS 6.0 vs IIS 7.0
- 8. Differenza tra sé debole vs sé debole()
- 9. Differenza tra Locale FRANCESE vs FRANCE Locale
- 10. che differenza tra InternalResourceViewResolver vs UrlBasedViewResolver
- 11. SQL: Differenza tra "BETWEEN" vs "current_date - number"
- 12. Differenza tra randint casuale vs randrange
- 13. Differenza tra io.open vs open in python
- 14. Differenza tra javax.servlet-api.jar vs servlet-api.jar
- 15. differenza tra grep Vs cat e grep
- 16. Differenza tra Spring JDBC Vs Plain JDBC?
- 17. Che differenza tra Jersey vs JAX-RS
- 18. Differenza tra :: class vs :: className() in Yii2?
- 19. Differenza tra variabili linux $ BASH_SUBSHELL vs $ SHLVL
- 20. Qual è la differenza tra colorWithSRGBRed vs colorWithDeviceRed vs colorWithCalibratedRed
- 21. Differenza tra AlertDialog.builder's obj.create() vs obj.show() vs obj.create(). Show()
- 22. iPhone: Differenza tra nil vs Nil e vero vs TRUE
- 23. differenza tra i386: x64-32 vs i386 vs i386: x86_64
- 24. dataset vs .data - Differenza?
- 25. Differenza tra elevazione e traduzioneZ
- 26. differenza tra System.exit() e killProcess()
- 27. Qual è la differenza tra Cassandra vs Oracle Coherence?
- 28. qual è la vera differenza tra lemmatization vs stemming
- 29. Qual è la differenza tra npm 3 vs Bower?
- 30. Differenza tra scorta vs gli stage in GIT
Provare a utilizzare "document.hidden' in IE9 e capirai. Prova a usare 'hasFocus' in Opera e capirai. –
Significa che entrambi hanno lo stesso scopo – Amerrnath