可以认为,目前Browser的编程接口有两个:一个是Java script,一个是W3C规定的DOM接口。前者是Browser亲生的,因为Java Script解释器和浏览器的渲染引擎紧密结合在一起,效率高,效果好。而且从商业角度考虑,大多数页面离不开java script,如果对其支持的不好,就会直接影响到Browser的市场前景。后者呢,是W3C制定的标准接口,是Browser抱养的。因此,它的实现相对来说并不理想,使用的人也不是很多。从业务角度考虑,一个浏览器即使不支持它也不会受到太大的市场压力。因此它的质量也可想而知的。另外,W3C目前只规定了HTML的DOM接口,对于Browser的新特性,比如对SVG的支持,对<canvas>标记的支持都办不到。
但是对于希望把浏览器作为应用的一个潜入式组件的开发者而言,DOM接口现状实在是一种噩梦。
这里,我想到这样一种解决方案:现在很多java script都在做js-java的桥接,我想能不能反其道而行之,做java-js的adaptor?我的思路是:把JAVA里DOM多数操作的实现给替换掉,不是让它们真的去操纵浏览器DOM树,而是仅仅生成一段JAVA SCRIPT代码,当遇到set**之类的方法时,通过某种途径执行这些java script代码。这里有两个难点:
一是如何得到并操纵浏览器的JS引擎。对于IE,找不到好的办法;但是对于Firefox/XULRUNNER,我想是可以的,通过装入插件,可以把JS引擎给暴露出来。
二是如何生成JAVA SCRIPT代码。这就需要一些编译的功利了。但是我想既然有那么多闲人有空能去把Swing放到Web容器里;把Eclipse架到Swing上;这个工作肯定也不是什么难事。
好处是什么?可以让java程序对浏览器更好的进行操控。
分享到:
相关推荐
知识点三:编程接口 编程时,开发者会与WebBrowser控件的IDispatch接口进行交互,这个接口提供了许多方法和属性,如Navigate()用于导航到特定URL,Document对象用于访问页面的DOM元素,ExecuteScript()用于执行...
【简易浏览器编程_VC】是一个基于Microsoft Visual C++ (VC++)的项目,旨在创建一个简单的Web浏览器。这个项目向我们展示了如何使用C++编程语言和Windows API来构建一个基础的浏览器功能,让用户体验浏览网页的能力...
Java 编写浏览器接口是一个有趣且实用的编程挑战,它涉及到网络通信、用户界面设计以及对Web标准的理解。Java作为一种跨平台的编程语言,提供了丰富的库和API来帮助开发者实现这个目标。以下是一些关键的知识点,...
首先,接口在编程中扮演着至关重要的角色,它是不同组件之间通信的桥梁。在Android系统中,接口通常表现为方法或者API,允许开发者在自己的应用程序中调用系统服务,如文件浏览服务。当我们谈论“调用文件浏览器接口...
在Java编程中,有时我们需要模拟浏览器发送HTTP请求,例如调用外部接口或API。`HttpURLConnection`是Java标准库提供的一种轻量级的HTTP客户端,它允许我们在后台代码中发送GET和POST请求。本篇文章将深入讲解如何...
在IT领域,IE编程是指利用Internet Explorer的API接口来开发应用程序,通常是用于增强或扩展浏览器的功能。本实例是一个简单的浏览器的实现,它基于C++语言,通过解析HTML、处理网络请求以及显示网页内容来模拟IE...
浏览器VC++编程主要涉及到的是使用Microsoft的Visual Studio 2008进行C++开发,创建一个简易的浏览器软件。这个项目的核心是利用Windows API和Internet Explorer的ActiveX控件(通常称为WebBrowser控件)来实现网页...
1. **Winsock API**:这是最底层的网络编程接口,提供了一套低级别的套接字API,可以直接构建TCP连接,发送和接收HTTP请求。使用Winsock需要对网络编程有深入的理解,包括TCP/IP协议族的工作原理。 2. **Windows ...
在IT行业中,浏览器编程是一种常见的技术,特别是在软件开发和网页应用中。本示例主要关注的是使用C++ Builder来操作和定制基于IE内核的浏览器控件。C++ Builder是Borland公司(现Embarcadero Technologies)推出的...
再者,61飓风浏览器的源代码可能涉及到网络通信的部分,VB提供了丰富的网络编程接口,如Winsock控件和HTTP请求类,用于实现数据的发送和接收。开发者可以通过这些接口与服务器进行通信,获取网页内容,处理登录、...
ONE集合了webkit,gecko,trident的编程接口,通过重新映射单一命名空间的方法,提供了可用于再次编程的浏览器编程接口,在 .NET下与C#、VB、VC等可以接合在.NET环境下的编程语言实现了无缝的焊接。实现了与编程语言...
1. **应用结构**:在"第06讲 应用结构和编程接口.ppt"中,可能会讲解各种网络应用的架构,例如客户端-服务器(C/S)模式、浏览器-服务器(B/S)模式,以及P2P(对等网络)模式。这些模式影响着应用程序的设计和交互...
标题中的“自制浏览器接口程序.rar_delphi 点击器_myie.rar delphi_浏览器”表明这是一个使用Delphi编程语言开发的项目,包含了浏览器接口和点击器功能。"myie.rar"可能是一个特定的浏览器组件或者工程文件,而...
**Cef浏览器内核**是基于Chromium Embedded Framework (CEF) 的一款开源浏览器组件,它为开发者提供了在C#编程环境中构建嵌入式浏览器应用的能力。CEF是一个强大的框架,允许开发者将Chromium浏览器引擎集成到自己的...
本项目“使用MFC套接字编程的简易浏览器”是一个基于MFC的简单浏览器实现,它允许用户浏览网页并支持前进和后退功能。下面我们将详细探讨MFC、套接字编程以及如何在MFC框架下实现这些功能。 首先,MFC是Windows API...
该课程设计旨在加深学生对计算机网络的基本概念和原理,以及网络编程接口 Socket 概念及编程原理的理解,并提高学生网络应用与编程、分析与解决实际问题的能力。 一、Web 浏览器设计 Web 浏览器是指一种可以访问和...
暗夜浏览器(VB版本浏览器)是一款专为VB初学者设计的学习和开发工具,它由一个VB初学者在学习过程中创建,旨在提供一个实践平台,帮助新手理解浏览器的基本工作原理和VB编程技术。这款浏览器的源代码是开源的,使得...
这些接口允许你自定义浏览器的行为,如处理上下文菜单、弹出对话框等。 - 若要更深度地定制,可以通过实现这些接口的更多方法,例如处理安全警告、下载进度等。 4. 事件处理: - CHtmlView类支持事件驱动编程,...
NPAPI(Netscape Plugin Application Programming Interface)是早期广泛使用的浏览器插件接口,允许插件在不同浏览器中运行。尽管现代浏览器已经倾向于使用更安全的API,如PPAPI(Pepper Plugin API)和...
在本实验中,我们将深入探讨网络编程中的Web技术,尤其是与Web浏览器应用程序相关的知识点。Web浏览器作为用户与互联网交互的主要接口,它的功能丰富多样,包括浏览网页、前进、后退、返回主页以及搜索等。这些功能...