天天看點

Applet 浏覽器 linux,CentOS 5.5 下 Firefox3.6.7 不能加載 Applet 的問題

CentOS 5.5 下更新一些更新檔之後,Mozilla Firefox3.6.7 被更新為 3.6.7 版本。Firefox 從 3.6 系列開始不再支援以前 OJI (Open Java Virtual Machine Integration)架構下的 Java 插件,需要使用Java 6 Updates 10 及以後提供的符合 NPAPI 标準的新版本浏覽器插件。于是導緻了Firefox3.6.7 不能加載 Java 插件進而不能使用 Applet 的問題。具體表現是,不能安裝 Java 插件,不能執行浏覽器頁面裡的 Applet。

【注】Applet 是一項很古老的 Java 應用,屬于浏覽器前端技術,與浏覽器有直接關系,因為它是從Web伺服器端下載下傳到浏覽器端後,在浏覽器的安全沙盒内被執行的。

一個嵌入在 html 中的 applet 示例如下:

其中 HelloWorld.class 檔案就是被編譯後,包含 applet 二進制代碼的檔案。

applet被嚴格限制在浏覽器安全沙盒内執行,不能與浏覽器端的檔案系統進行互動。但可以通過内置的socket接口與其它網絡應用進行通信。

本文介紹如何在 Mozilla Firefox 3.6.7 版本下配置使用 Java 插件的問題。

實際上,CentOS 5.5 本身是自帶 Java 環境的,在軟體管理裡配置啟用後,運作指令 java -version,可以看到如下資訊:

java version "1.6.0_0"

OpenJDK Runtime Environment (IcedTea6 1.6) (rhel-1.13.b16.el5-i386)

OpenJDK Client VM (build 14.0-b16, mixed mode)

但并不能與 Firefox3.6.7 一起工作。

于是,從 java 官網 http://java.com 上下載下傳适用于 Linux 的 Java 版本下載下傳(推薦 Version6 update21),選擇 for Linux 自解壓檔案 jre-6u21-linux-i586.bin,檔案大小 19.9MB。

下載下傳完畢後,拷貝到 mozilla Firefox 的安裝路徑 /usr/lib/mozilla/plugins 下,加上可執行權限:

chmod +x jre-6u21-linux-i586.bin

然後執行它:

./jre-6u21-linux-i586.bin

自解壓後,在目前目錄下生成一個新目錄 jre1.6.0_21,所有檔案都包含在裡邊。

在 jre1.6.0_21/lib/i386/ 目錄下可以找到一個 libnpjp2.so 檔案,是和 Firefox 的 Java 插件有關的,在目前目錄 /usr/lib/mozilla/plugins 下建立一個符号連結指向它:

ln -s jre1.6.0_21/lib/i386/libnpjp2.so

以上指令生成了符号連結 libnpjp2.so,指向(->)jre1.6.0_21/lib/i386/libnpjp2.so 檔案。

OK,重新打開浏覽器 Firefox,在“附加插件”下就能夠看到插件“Java(TM) Plug-in 1.6.0_21”。浏覽器右下角的一排快速按鈕中的“Java”按鈕也可以快速“Enable/Disable” Java 支援了(需要安裝QuickJava插件)。在浏覽器裡打開 Webmin 網站,在Other 菜單下,可以打開 File Manager,管理網站上的檔案了。File Manager 本身是用 Java 的 Applet 技術開發的。盡管 Applet 屬于十分落後的技術,但有些小的應用還是需要 Firefox 支援 Java 插件。如果沒有 Java 插件,會提示 Firefox 浏覽器沒有安裝 Java 支援。

希望 CentOS 的後續版本裡能自行解決這個問題。

Applet 浏覽器 linux,CentOS 5.5 下 Firefox3.6.7 不能加載 Applet 的問題