我正在學習網絡工作者,發現我們現在可以在網頁上運行多個腳本。這很有趣,但是我的想法又一次出現了:如果我們無法在HTML網絡工作者之前運行多個腳本,我如何在單個HTML頁面上運行多個幻燈片而不使用上述技術。 我可能沒有正確理解這個概念。任何人都可以解釋我是如何運行幾個幻燈片,這是從沒有網絡工作者的JavaScript設計的?多個腳本如何在沒有webworkers的情況下運行?
0
A
回答
1
幻燈片將通常使用setTimeout()
來顯示下一張幻燈片。您可以簡單地使用各自的setTimeout()
進行多個幻燈片演示。
第一張幻燈片顯示了它的初始圖像,然後在將來想要切換到下一張幻燈片的某個特定時間設置setTimeout()
。第二個幻燈片會顯示它的初始圖像,並在將來想要切換到下一張幻燈片的特定時間設置setTimeout()
。
然後,兩個幻燈片顯示都會執行,直到其中一個setTimeout()
發生火災。他們從未在技術上「同時執行」。實際上一次只有一個代碼正在運行。使用足夠短的定時器時間間隔,可能看起來它們都在同一時間運行,但在技術上它們不是。
沒有WebWorkers的Javascript是單線程的。一次只能運行一個執行線程。定時器通常用於模擬同時發生的多個事件(例如同時運行多個基於JavaScript的動畫)。但是,這只是一個模擬(有時非常有效)。
幻燈片還可以使用CSS3動畫或轉換來顯示從一張幻燈片到另一張幻燈片的由瀏覽器控制的轉換,並且不使用javascript來執行動畫(它們使用的本機代碼可能是或可能不是多個或者甚至可以使用GPU--這是瀏覽器實現的依賴)。
您可能會發現該答案及其中的參考資料有助於理解javascript事件模型和單線程:How does JavaScript handle AJAX responses in the background?。
相關問題
- 1. 如何在沒有文件的情況下運行node.js腳本?
- 2. 在沒有安裝Robot的情況下運行Rational Robot腳本
- 3. Cgi-bin腳本在沒有用戶的情況下運行?
- 4. 只有在沒有運行的情況下才使用cron運行python腳本
- 5. 有沒有辦法在沒有CLI的情況下運行nodejs腳本?
- 6. 如何在沒有越獄的情況下運行shell腳本iPhone
- 7. 如何在沒有Windows控制檯出現的情況下運行Python腳本
- 8. 如何在沒有SDK的情況下運行PowerShell腳本文件?
- 9. 如何在沒有管理員權限的情況下運行powershell腳本?
- 10. VSCODE:如何在沒有這個的情況下運行python?
- 11. perl:在沒有exec/system的情況下運行另一個腳本
- 12. 如何在不使用./script.py的情況下運行python腳本?
- 13. 如何在不阻塞的情況下運行腳本?
- 14. 如何在頁面爲index.html的情況下運行jquery腳本
- 15. 如何在不重定向的情況下運行PHP腳本?
- 16. 如何僅在另一個有效的情況下運行js腳本
- 17. 在Linux中沒有命令行參數的情況下運行Shell腳本
- 18. 如何在沒有CronJob的情況下安排Unix Shell腳本
- 19. 如何在沒有Oauth的情況下登錄到腳本?
- 20. 有沒有辦法在不安裝Eclipse的情況下運行selenium Java腳本?
- 21. 如何在沒有Safari的情況下在Windows上運行Webkit?
- 22. 如何在沒有Cython的情況下在Python中運行sklearn?
- 23. 在沒有線程的情況下同時執行python腳本
- 24. 如何在不運行腳本的情況下檢查bash腳本?
- 25. 如何在不重新啓動matlab的情況下多次運行matlab腳本?
- 26. 瀏覽器在沒有我的輸入的情況下運行PHP腳本嗎?
- 27. 如何在沒有xServer的情況下運行unoconv
- 28. 如何在沒有終端的情況下運行Python
- 29. 如何在沒有MANIFEST.MF的情況下運行Java .jar?
- 30. 如何在沒有sudo的情況下運行命令?
WebWorkers允許您在線程中運行多個腳本,而不是簡單地「運行多個腳本」 - 這可能沒有WebWorkers。 – Ginden
下面是對JavaScript併發模型的解釋 - 谷歌爲「JavaScript事件循環」之類的東西尋找無窮的資源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/EventLoop以及jQuery的創建者如何定時器的工作(這是關於JS事件隊列的):http://ejohn.org/blog/how-javascript-timers-work/這個看起來不錯:http:// blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/ –