我用Dart玩過一點,我覺得它很棒。據我所知,它可以輸出本地JS,並且虛擬機很可能會在Google的瀏覽器中得到支持。由於其他瀏覽器供應商可能不支持Dart VM,是否可以在客戶機上安裝Dart VM以便在國外瀏覽器中使用?Dart VM - 外國瀏覽器(非Google)
回答
是否有可能在客戶端機器上安裝Dart VM以便在國外瀏覽器中使用?
但是,它是自己提供Dart VM更容易。
JavaScript是完全能夠:
- 查找的特定
type
- 一個
script
轉換腳本轉換爲JavaScript - 執行編譯腳本
雖然這是技術上不是飛鏢虛擬機,它會讓你的飛鏢代碼全速執行。但是,您必須等待編譯完成。通常的方法是在服務器上進行編譯(一次),並只將編譯後的JavaScript發送給客戶端。
另一種選擇是解釋代碼。 Dart指令不是編譯爲javascript,而是逐個執行。 Dart不是機器級語言,因此它需要解析,但接下來是解釋。缺點是性能下降。這將使您儘可能地擁有一個完整的虛擬機(與Javascript單獨分離)。
通常情況下,你不關心你得到哪一個(也許你甚至會得到一個即時編譯器),但它確實在Dart 虛擬機存在方面有所作爲(相反不僅僅是讓你的代碼執行)。
達特編譯器必須存在某種方式在頁面上(除非你預編譯)。
最簡單的方法是將<script src="path/to/your/dart-compiler.js"></script>
寫入頭部。
Dartium瀏覽器本身支持Dart,但它不是爲通用設計的。 Wikipedia says:
在Dartium瀏覽器中:Dart SDK附帶修改爲包含Dart虛擬機的Chromium Web瀏覽器版本。這個瀏覽器可以直接運行Dart代碼而無需編譯成Javascript。它目前不打算用於通用目的,而是作爲Dart應用程序的開發工具。[7] 將Dart代碼嵌入到Web應用中時,目前推薦的過程是加載引導JavaScript文件「dart.js」,它將檢測Dart VM的存在或不存在並分別加載相應的Dart或編譯的Javascript代碼 [8],因此可以保證瀏覽器與或不使用定製Dart VM的兼容性。
如果你想運行Dart的能力取決於客戶端機器而不是頁面,還有幾種方法。
一種方法是將編譯器作爲用戶腳本包含在內。這將在全部兩個現代桌面瀏覽器。但是,我不確定是否存在將用戶腳本支持添加到Internet Explorer的現有方法。
一種方法是添加瀏覽器擴展。所有現代桌面瀏覽器都支持擴展,並且Internet Explorer has Browser Helper Objects。
所有這些都需要額外的Javascript一步。如果你想繞過Javascript的本地解釋,你需要一個插件。插件需要特定的mime類型才能運行(不知道腳本類型是否包含在內),但是您可以安裝一個可以觸發插件使用的擴展。然而,DOM操作仍然需要額外的JavaScript步驟。沒有其他辦法了。
桌面安裝程序可以肯定地安裝插件到瀏覽器。的確,這是插件通常被安裝的方式。從桌面安裝程序安裝擴展也是可能的,但我現在還不能確認或否認這個最後的聲明。
據我所知,沒有辦法只是簡單地爲Dart安裝插件(如Flash)。對於Internet Explorer,可以安裝Chrome框架,但我沒有看到類似的Firefox和Safari。
2013年6月,谷歌宣佈他們將在2014年1月停止對Chrome Frame的支持和更新。請參閱:[退出Chrome框架](http://blog.chromium.org/2013/06/retiring-chrome-frame.html ) – rsp
- 1. 是否有Dart VM可用?
- 2. Google Dart JavaScript轉換器是否支持舊版瀏覽器?
- 3. Dart:如何關閉瀏覽器窗口?
- 4. 在Android VM上安裝Chrome瀏覽器?
- 5. 非瀏覽器JS庫
- 6. 無法從外部瀏覽器瀏覽Azure上的VB.NET網站
- 7. 將Dart API導出爲JavaScript,沒有Dart VM
- 8. 啓用Silverlight瀏覽器外瀏覽器突破瀏覽器內應用程序
- 9. 適用於非IE瀏覽器的瀏覽器緩存API
- 10. Safari瀏覽器的CSS黑客並非來自Chrome瀏覽器
- 11. 外部JS和瀏覽器
- 12. WebView和外部瀏覽器
- 13. 瀏覽器之外的Javascript
- 14. oauth2.0在外部瀏覽器
- 15. Google Chrome瀏覽器如何實現Chrome瀏覽器?
- 16. Google Analytics(分析)PHP API(GAPI)非移動瀏覽器
- 17. 從Dart中的瀏覽器添加額外的頭部到websocket連接
- 18. 瀏覽器縮小網頁(Safari瀏覽器除外)
- 19. 從swt瀏覽器打開外部瀏覽器窗口
- 20. 選擇標籤的外觀瀏覽器到瀏覽器
- 21. 從瀏覽器外的Silverlight應用程序使用Google OAuth2
- 22. 我可以在瀏覽器之外運行Google的Native Client嗎?
- 23. 在Google Chrome瀏覽器擴展程序中需要外部javascript
- 24. 與VM服務器和瀏覽器dartium達特集成測試
- 25. 是否可以從(server-VM-run)Dart代碼讀取Google Spreadsheet?
- 26. 非私人瀏覽
- 27. 如何使用Dart在瀏覽器中讀取cookie?
- 28. Dart Server或執行Xsl轉換的瀏覽器?
- 29. DART:畫布:跨瀏覽器setLineDash(火狐18.0.1)
- 30. 從命令行啓動Web瀏覽器Dart腳本
「是否有可能在客戶端機器上安裝Dart VM以供在國外瀏覽器中使用?」網頁提供的解釋器計數是否? –