2010-11-09 56 views
2

我一直在試圖瞭解如何閃光動畫或瀏覽器中的Java小程序的工作。瀏覽器如何與Flash Player或Java Applet進行交互?

我能想到幾種方法的 -

  1. Flash播放器/ Java小程序是方的動態鏈接它,並賦予 一些有關該屬於他們的屏幕區域參數機器代碼;之後,他們 在相同的進程空間內運行。

  2. 瀏覽器公開了一個API,播放器/小應用程序用它來與它通話,並且它們在獨立的進程中生存 。 (據推測他們通過套接字交談?)API可能對應於 openGL/X11 /一些自定義調用。

這些可能性還是不解釋的東西就像一個按鈕,點擊可如何讓玩家 全屏,怎麼能播放音樂,怎麼能檢查DOM等。對於這個問題, 是視頻通過解碼到圖像序列,並且使它們 一次一個顯示,或者是有一個更有效的方式,例如,在圖像中推增量?

對Java小程序(1)有關如何將小程序在沙箱(大概是一個單獨的進程)運行 會談的維基百科頁面,但 它沒有說瀏覽器和小應用程序的通信方式。

也許答案依賴於底層平臺上?

本主題的系統的討論任何指針將理解的(如將 到的API的引用)。

(我的這種興趣來自永不滿足的好奇心造成的。)

回答

4

我敢肯定插件如Java小程序和Flash通過NPAPI在大多數瀏覽器中運行。前一段時間我自己研究了這個問題,NPAPI是我找到的答案。

2

在瀏覽器和Java小程序的情況下,小程序在Java插件,它可以作爲獨立的過程中,通常運行(你可以看到例如它在Windows任務管理員)。

插件創建DOM中的每個applet的對象,你可以因此與從Javascript小程序進行交互。無論如何,調用需要一段時間才能返回的applet確實會凍結瀏覽器,因此我認爲與插件的通信與主刷新循環在同一線程中運行。這似乎至少是Firefox的情況。

相關問題