【讨论、技术】如何使用.NET开发浏览器 个人觉得 如果 非的用.net 比如C#来做的话 现在的 机器 普及配置来说做壳还行..做内核 估计 性能上会吃亏. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java自己带了个你可以考虑考虑 IE不是内核, IE仍然只是一个shell, 它所使用的内核叫Trident, 也是Maxthon等浏览器使用的内核.FireFox也不是内核, 它所使用的内核叫Gecko, 这也是Mozilla所使用的内核. 很多啥都不懂的菜鸟以为FireFox是自己开发的内核, 其实也只是一个shell而已.Trident不是开源的, 但是Gecko和Safari所用的WebKit内核都是开源的,你可以直接去网上下载.要开发一个浏览器内核, 目前你需要考虑下面几点.1. 网络连接, 按照HTTP协议的格式与服务器进行连接.2. 页面渲染, 按照W3C的标准, 解析CSS/HTML, 呈现相应的文字, 图片, 制表格式等.3. JavaScript解释引擎, 按照ECMAScript的标准, 对JavaScript进行解释执行.4. 而外插件支持, 比如Trident支持ActiveX等等. 说得非常好啊,受益,多谢了。个人感觉C#确实不太适合做浏览器,原因并非是执行效率的问题,而是因为运行环境部署的困难。PS:C#执行效率绝对不比其它语言低。 做成dll然后介面用C#做.在C#调用dll 真的很难.特别是对于JavaScript和VBScript的翻译.期待更多高手关注此贴 . .NET只适合做外壳,内壳.NET不适合!就这样! 哥们儿,你抛出了一个大问题。浏览器的开发不是一个人单干的,如果纯属兴趣,可以看一下现有的元码,可以借鉴一下别人的设计方案。firefox就是一个极其优秀浏览器。如果你不是微软员工的话,你可以加入他们的开发组。我估计你在那里应该能遇到高手。我以前加入过一个linux device driver的开源组,里面的成员还是很热情的,一般能够得到满意的答复。 /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void button6_Click(object sender, System.EventArgs e) {//浏览 if(this.textBox1.Text.Length<1) return; try { string StrUrl=this.textBox1.Text; System.Object MyObject=""; this.axWebBrowser1.Navigate(StrUrl,ref MyObject,ref MyObject,ref MyObject,ref MyObject); } catch(Exception Err) { MessageBox.Show(Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } } private void button1_Click(object sender, System.EventArgs e) {//后退 try { this.axWebBrowser1.GoBack(); } catch{} } private void button2_Click(object sender, System.EventArgs e) {//前进 try { this.axWebBrowser1.GoForward(); } catch{} } private void button3_Click(object sender, System.EventArgs e) {//停止 this.axWebBrowser1.Stop(); } private void button4_Click(object sender, System.EventArgs e) {//刷新 this.axWebBrowser1.Refresh(); } private void button5_Click(object sender, System.EventArgs e) {//主页 this.axWebBrowser1.GoHome(); }给你部分浏览器的代码希望对你有帮助 楼主要的是建立一个完整的浏览器,包括html解析,通讯等模块。所以不能用WebBrowser这个控件。 It's a not easy feat ~~ 最基本的条件之一 .. .net为托管程序,很难推广开来,所以,注定没人会去做这种吃力不讨好的事情。 C#应该可以做出来的,但是要花费大量的时间和精力吧,你如果说套IE壳应该很简单的这东西有现成的成熟的作品,为什么要自己重新做?软件很大一部分都是为了可重用,没有必要自己开发 请教:写了一个Form组件,想要把组件名存入数据库的菜单表,当点击菜单时直接打开Form组件。 如何用网页制作访问文件夹 怎么用timer类来实现lable闪烁效果? 这短代码应该怎么改?? 用VISIO绘制类图如何表示枚举 强名称文件怎么生成 本人刚买了清华大学最新出版的 Visual C#.NET 2003开发与技巧,觉得不错.有看过的进来聊聊... 应用程序中字段与数据库中不匹配 针式打印机走纸的问题 如何读取修改下面格式的文件 ,高分 求助:关于JScript程序,当脚本发生错误时中止页面的JScript程序.怎么做啊 关于写入文本文件问题
2. 页面渲染, 按照W3C的标准, 解析CSS/HTML, 呈现相应的文字, 图片, 制表格式等.
3. JavaScript解释引擎, 按照ECMAScript的标准, 对JavaScript进行解释执行.
4. 而外插件支持, 比如Trident支持ActiveX等等.
说得非常好啊,受益,多谢了。个人感觉C#确实不太适合做浏览器,原因并非是执行效率的问题,而是因为运行环境部署的困难。PS:C#执行效率绝对不比其它语言低。
可以借鉴一下别人的设计方案。firefox就是一个极其优秀浏览器。如果你不是微软员工的话,你可以加
入他们的开发组。我估计你在那里应该能遇到高手。我以前加入过一个linux device driver的开源组,
里面的成员还是很热情的,一般能够得到满意的答复。
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void button6_Click(object sender, System.EventArgs e)
{//浏览
if(this.textBox1.Text.Length<1)
return;
try
{
string StrUrl=this.textBox1.Text;
System.Object MyObject="";
this.axWebBrowser1.Navigate(StrUrl,ref MyObject,ref MyObject,ref MyObject,ref MyObject);
}
catch(Exception Err)
{
MessageBox.Show(Err.Message,"信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
} private void button1_Click(object sender, System.EventArgs e)
{//后退
try
{
this.axWebBrowser1.GoBack();
}
catch{}
} private void button2_Click(object sender, System.EventArgs e)
{//前进
try
{
this.axWebBrowser1.GoForward();
}
catch{}
}
private void button3_Click(object sender, System.EventArgs e)
{//停止
this.axWebBrowser1.Stop();
} private void button4_Click(object sender, System.EventArgs e)
{//刷新
this.axWebBrowser1.Refresh();
} private void button5_Click(object sender, System.EventArgs e)
{//主页
this.axWebBrowser1.GoHome();
}
给你部分浏览器的代码希望对你有帮助
这东西有现成的成熟的作品,为什么要自己重新做?软件很大一部分都是为了可重用,没有必要自己开发