In recent years most of the systems are getting upgraded with the new User Interface and Extjs is once of the most widely used technology for the rich look and feel. In most of the domain mostly in DMS (Document Management System) upload and download functionality is provided. To achieve the performance most of the system uses applets for upload and downloading the content from the systems. One of the major problem with applet is they used different tags (applet, object and embed) for different browsers. I came across such issues so decided to write a blog on it.
To achieve the mention problem i am writing few steps that will be helpful to you guys.
1) Create a main.html page and in the same directory put the ext-base.js and ext-all.js files.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <script type="text/javascript" src="ext-base.js"></script> <script type="text/javascript" src="ext-all.js"></script> <script type="text/javascript" src="applet.js"></script> <script> Ext.onReady(function(){ my.appletRenderer.getFileSelector(); my.appletRenderer.getUploadApplet(); }); </script> </head> <body scroll="no"> <div id="center"> <div id="x-desktop"> <div id="center-panel-container" style="background:transparent;"></div> </div> </div> </body> </html> |
2) Create an applet.js file in the same directory with following contents.
my.appletRenderer = { getFileSelector : function() { if (new ActiveXObject("Scripting.Dictionary") != null) { return this.getActiveXFileSelector(); } else { return this.getSwingFileSelector(); } }, getSwingFileSelector : function(){ if (Ext.isIE || Ext.isChrome) { if (Ext.isIE8 ) { return new Ext.Panel({ renderTo: 'center-panel-container', height: 0, html: '<object ' + 'id = "SwingFileSelectorApplet" ' + 'name="SwingFileSelectorApplet" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'cache_archive="" ' + 'cache_version="" ' + 'width="0" ' + 'height="0" ' + 'mayscript="true" ' + 'bodyStyle="display:none;"> ' + '</object>' }); }else{ return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html : '<applet ' + 'id="SwingFileSelectorApplet" ' + 'name="SwingFileSelectorApplet" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'width=0 ' + 'height=0 ' + 'mayscript="true">' + '<param name="cache_archive" value="" />'+ '<param name="cache_version" value="" />'+ '</applet>' }); } }else{ return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html:'<EMBED ' + 'id="SwingFileSelectorApplet" ' + 'name="SwingFileSelectorApplet" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'type="application/x-java-applet;version=1.4" ' + 'cache_archive="" ' + 'cache_version="" ' + 'EMBEDDED="true" ' + 'mayscript="true" ' + 'width="0" ' + 'height="0"> ' + '<NOEMBED> No Java 2 SDK, Standard Edition v 1.4.1 support for APPLET!! </NOEMBED> ' + '</EMBED>' }); } }, getActiveXFileSelector : function() { return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html : ' <object classid="" align="baseline" border="0">' + '<param name="LPKPath" value="">' + '</object>' + '<object classid="" codebase="" ' + 'VIEWASTEXT name="fileDialog" id="CommonDialog1"><param NAME="CancelError" VALUE="0">' +'<param NAME="DialogTitle" VALUE="'+ fs.locale.write("docUpload", "selectFile") +'">' +'<param NAME="" VALUE=""><param NAME="" VALUE="">' +'</object>' }); }, getUploadApplet : function(){ if(Ext.isWindows){ return this.getWindowsUploadApplet(); } else{ return this.getUnixUploadApplet(); } }, getWindowsUploadApplet : function(){ if (Ext.isIE) { if (Ext.isIE8 ) { return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html : '<object ' + 'id = "FileUpload" ' + 'name="FileUpload" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'width=0 ' + 'height=0 ' + 'mayscript="true" ' + 'bodyStyle="display:none;">' + '<param name="cache_archive" value="" />' + '<param name="cache_version" value="" />' + '</object>' }); }else{ return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html : '<applet ' + 'id = "FileUpload" ' + 'name="FileUpload" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'width=0 ' + 'height=0 ' + 'mayscript="true" ' + 'bodyStyle="display:none;">' + '<param name="cache_archive" value="" />' + '<param name="cache_version" value="" />' + '</applet>' }); } }else if (Ext.isChrome) { return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html : '<applet ' + 'id = "FileUpload" ' + 'name="FileUpload" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'width=0 ' + 'height=0 ' + 'mayscript="true" ' + 'bodyStyle="display:none;">' + '<param name="cache_archive" value="" />' + '<param name="cache_version" value="" />' + '</applet>' }); }else{ return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html:'<EMBED ' + 'id="FileUpload" ' + 'name="FileUpload" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'type="application/x-java-applet;version=1.4" ' + 'cache_version="" ' + 'cache_archive="" ' + 'width="0" ' + 'height="0" ' + 'mayscript="true"> ' + '<NOEMBED> No Java 2 SDK, Standard Edition v 1.4.1 support for APPLET!! </NOEMBED>'+ '</EMBED>' }); } }, getUnixUploadApplet : function(){ return new Ext.Panel({ renderTo:'center-panel-container', height : 0, html : '<applet ' + 'id = "FileUpload" ' + 'name="FileUpload" ' + 'codebase="" ' + 'archive="" ' + 'code="" ' + 'width=0 ' + 'height=0 ' + 'mayscript="true" ' + 'bodyStyle="display:none;">' + '<param name="cache_archive" value="" />' + '<param name="cache_version" value="" />' + '</applet>' }); } } |
3) In the applet.js file if you pass the proper values of the attribute which i have kept blank like codebase, archive,code,classid etc. the applets will get render.
4) View the main.html and view source the applets be enabled.
5) And this code will work for almost all the browser and OS. (Only you need to create your own jar files operating system specific)
6) Same check can be applied for the download and other applet.
相关推荐
EXTJS是一种强大的JavaScript库,专用于构建富客户端的Web应用程序。它提供了丰富的组件库,包括数据绑定、布局管理、图表等功能,使得开发者可以构建出功能强大且用户界面友好的Web应用。在“可视化开发”这一领域...
ExtJS3 升级到 ExtJS4 方案 ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容。在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败...
ExtJS是一种广泛使用的JavaScript库,专门用于构建富客户端的Web应用程序。它提供了丰富的组件和工具,使得开发者可以创建出功能强大、用户界面友好的Web应用。在“extjs流程界面设计器参考”中,我们主要关注的是...
ExtJS实用开发指南&ExtJS中文文档-API
本书作为Extjs的中文教程,旨在帮助读者快速上手Extjs,其内容涉及Extjs的基础知识和实际应用。 #### 2. JavaScript基础知识 - **类的定义**: Extjs中的类继承于JavaScript原生类,通过Ext.extend来定义。这是...
ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门 ExtJS快速入门ExtJS快速入门 ExtJS快速入门 ExtJS...
ExtJS是一个广泛使用的JavaScript库,专门用于构建富客户端应用程序。版本3.3是该库的一个稳定版本,提供了许多功能和组件,使得Web开发者能够创建功能丰富的、交互性强的用户界面。这个“ExtJS3.3中文API.CHM”文档...
ExtJS 是一个流行的JavaScript框架,主要用于构建富客户端的Web应用程序。它提供了丰富的组件库、数据管理功能以及强大的用户界面(UI)元素。在标题和描述中提到的“Extjs4小图标”指的是ExtJS 4版本中使用的一系列...
ExtJS 是一个流行的JavaScript框架,用于构建富客户端的Web应用程序。它提供了丰富的用户界面组件、数据绑定机制和强大的API,使开发者能够创建功能强大的、响应式的桌面和移动应用。7.6版本是ExtJS的一个重要更新,...
ExtJS是一种广泛使用的JavaScript库,专门用于构建富客户端Web应用程序。这个压缩包包含了ExtJS的两个重要版本:2.2和3.2.1。这两个版本在Web开发领域都有着广泛的运用,它们各自拥有不同的特性和改进,对于理解...
ExtJS是一种基于JavaScript的开源富客户端框架,用于构建桌面级Web应用程序。该框架提供了一整套组件化的用户界面元素,支持数据绑定、拖放、表格排序等功能,使得开发者能够创建功能丰富的交互式Web应用。"ExtJS ...
ExtJS 是一个强大的JavaScript前端框架,用于构建富客户端应用程序。版本4.1是该框架的一个重要里程碑,提供了许多新功能和改进。对于初学者来说,理解并掌握ExtJS 4.1的基础和特性是非常有益的。 标题中的"Extjs...
例如,`Eclipse支持HTML&JS&ExtJS&jQuery代码智能提示.docx`可能包含有关如何启用和利用这些智能提示的详细指南。 2. **JavaScript 插件**:JavaScript是Web开发的核心,用于实现页面的动态行为。Eclipse的...
ExtJS是一款功能强大的JavaScript前端框架,它为开发者提供了构建富客户端Web应用的工具。这款框架以其丰富的组件库、可定制的界面和强大的数据绑定机制而闻名。标题中的"ExtJS经典皮肤集合"指的是该框架中包含的一...
EXTJS 是一个强大的JavaScript前端框架,它主要用于构建富客户端应用,提供丰富的用户界面组件和灵活的可定制性。EXTJS 的核心在于其组件化的架构,允许开发者构建复杂的UI布局和功能丰富的应用程序。以下是对EXTJS...
ExtJS是一款强大的JavaScript库,主要用于构建富客户端的Web应用程序。其界面设计器,正如标题所示,是一种可视化的开发工具,能够极大地提升开发效率和用户体验。这个工具允许开发者通过拖放组件和直观地调整属性来...
【EXTJS 3.4 开发前准备】 EXTJS 是一款强大的JavaScript库,主要用于构建桌面级的Web应用程序,提供丰富的用户界面组件和交互效果。3.4版本是EXTJS的一个重要里程碑,它提供了稳定的基础和丰富的组件库。本文将...
适用于ExtJS4、ExtJS5 MD5加密算法!
extjsapi,extjs文档,api手岫