2 lesliewq LeslieWQ 于 2017.01.02 09:13 提问

怎么编写网页浏览器?

为什么自己用MFC编写的网页浏览器输入网址后的页面进行点击时会跳到电脑的默认浏览器显示?怎么才能让它一直在自己写的浏览器中显示?

3个回答

guwei4037
guwei4037   Ds   Rxr 2017.01.02 11:00
已采纳
earbao
earbao   2017.01.02 09:44

mfc本来就是调用系统的ie浏览器,你可以参考下开源浏览器webkit

LeslieWQ
LeslieWQ 好的,谢谢 那能不能实现一直在我自己写的浏览器的框架内显示页面呢? 现在的问题就是我可以自己输入网址,比如百度,也可以在百度内进行搜索,但是搜索出来的相关内容我点击的话就会跳到默认浏览器运行
一年多之前 回复
LeslieWQ
LeslieWQ   2017.01.02 09:58

好的,谢谢
那能不能实现一直在我自己写的浏览器的框架内显示页面呢?
现在的问题就是我可以自己输入网址,比如百度,也可以在百度内进行搜索,但是搜索出来的相关内容我点击的话就会跳到默认浏览器运行

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java编写的网页浏览器
是用Java编写的一个网页浏览器的小例子。有利于初学者提高自己的代码水平。
用VC++6.0制作简易浏览器(转)
浏览器是我们上网时必须使用的软件,我们常用的浏览器有IE、Netscape等。面对它们,我们往往会感叹如此强大功能的软件是如何编写出来的呢?的确,要编写一个功能完善的浏览器是很不容易的。但是,利用当今的一些面向对象开发工具来编写一个简易的浏览器以实现它的主要功能却十分容易。用VC++,一支烟的功夫就能办到!不信,请跟我来。  实现原理:  ActiveX控件可以看作是OLE容器中使用的进程内服务器
Qt开发之webkit(编写网页浏览器)
QtWebKit提供了一个Web浏览器引擎,可以很方便的把万维网中的内容嵌套到Qt应用程序中.比如HTML,CSS,JS等到这里Qt基础基本过了一遍,接下来就准备开发几个小项目来实践一下.新建Qt  Gui应用程序,类名保持默认.在工程文件中添加   QT  += webkit.webkit.h#ifndef MAINWINDOW_H #define MAINWINDOW_H #include
java 写的浏览器 源代码
public class WebBrowser extends JFrame implements HyperlinkListener,ActionListener{ //建立工具栏用来显示地址栏 JToolBar bar=new JToolBar (); //建立网页显示界面 JTextField jurl = new JTextField (60); JEditorPane jEditorPane1 = new JEditorPane (); JScrollPane scrollPane = new JScrollPane (jEditorPane1); JFileChooser chooser=new JFileChooser (); JFileChooser chooser1=new JFileChooser (); String htmlSource; JWindow window = new JWindow (WebBrowser.this); JButton button2=new JButton ("窗口还原"); Toolkit toolkit = Toolkit.getDefaultToolkit(); //建立菜单栏 JMenuBar jMenuBar1 = new JMenuBar(); //建立菜单组 JMenu fileMenu = new JMenu ("文件(F)"); //建立菜单项 JMenuItem saveAsItem = new JMenuItem ("另存为(A)..."); JMenuItem exitItem=new JMenuItem ("退出(I)"); JMenu editMenu=new JMenu ("编辑(E)"); JMenuItem backItem=new JMenuItem ("后退"); JMenuItem forwardItem=new JMenuItem ("前进"); JMenu viewMenu=new JMenu ("视图(V)"); JMenuItem fullscreenItem=new JMenuItem ("全屏(U)"); JMenuItem sourceItem=new JMenuItem ("查看源码(C)"); JMenuItem reloadItem=new JMenuItem ("刷新(R)"); //建立工具栏 JToolBar toolBar = new JToolBar(); //建立工具栏中的按钮组件 JButton picSave = new JButton("另存为"); JButton picBack = new JButton("后退"); JButton picForward = new JButton("前进"); JButton picView = new JButton("查看源代码"); JButton picExit = new JButton("退出"); JLabel label=new JLabel ("地址"); JButton button=new JButton ("转向"); Box adress=Box.createHorizontalBox (); //ArrayList对象,用来存放历史地址 private ArrayList history=new ArrayList(); //整型变量,表示历史地址的访问顺序 private int historyIndex; /** **构造函数 **初始化图形用户界面 */ public WebBrowser(){ setTitle ("网页浏览器"); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //为jEditorPane1添加事件侦听 jEditorPane1.addHyperlinkListener (this); //为组件fileMenu设置热键‘F’ fileMenu.setMnemonic('F'); saveAsItem.setMnemonic ('S'); //为“另存为”组件设置快捷键为ctrl+s saveAsItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK)); exitItem.setMnemonic('Q'); exitItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_E,InputEvent.CTRL_MASK)); //将菜单项saveAsItem加入到菜单组fileMenu中 fileMenu.add (saveAsItem); //在菜单项中添加隔离 fileMenu.addSeparator (); fileMenu.add (exitItem); backItem.setMnemonic ('B'); backItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_Z,InputEvent.CTRL_MASK)); forwardItem.setMnemonic('D'); forwardItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_P,InputEvent.CTRL_MASK)); editMenu.setMnemonic('E'); editMenu.add (backItem); editMenu.add (forwardItem); viewMenu.setMnemonic('V'); fullscreenItem.setMnemonic('U'); fullscreenItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_U,InputEvent.CTRL_MASK)); sourceItem.setMnemonic('C'); sourceItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C,InputEvent.CTRL_MASK)); reloadItem.setMnemonic('R'); reloadItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_R,InputEvent.CTRL_MASK)); Container contentPane=getContentPane (); //设置大小 scrollPane.setPreferredSize(new Dimension(100,500)); contentPane.add (scrollPane, BorderLayout.SOUTH); //在工具栏中添加按钮组件 toolBar.add(picSave); toolBar.addSeparator(); toolBar.add(picBack); toolBar.add(picForward); toolBar.addSeparator(); toolBar.add(picView); toolBar.addSeparator(); toolBar.add(picExit); contentPane.add (bar,BorderLayout.CENTER); contentPane.add(toolBar,BorderLayout.NORTH); viewMenu.add (fullscreenItem); viewMenu.add (sourceItem); viewMenu.addSeparator (); viewMenu.add (reloadItem); jMenuBar1.add (fileMenu); jMenuBar1.add (editMenu); jMenuBar1.add (viewMenu); setJMenuBar (jMenuBar1); adress.add (label); adress.add (jurl); adress.add (button); bar.add (adress); //为组件添加事件监听 saveAsItem.addActionListener(this); picSave.addActionListener(this); exitItem.addActionListener(this); picExit.addActionListener(this); backItem.addActionListener(this); picBack.addActionListener(this); forwardItem.addActionListener(this); picForward.addActionListener(this); fullscreenItem.addActionListener(this); sourceItem.addActionListener(this); picView.addActionListener(this); reloadItem.addActionListener(this); button.addActionListener(this); jurl.addActionListener(this); }
简易internet浏览器(c#编写,带源文件)
平时流行的浏览器往往很占内存,而且浏览器结构总是跟我需要的差一点,于是几年前用c#写了一个简易浏览器,打开速度快,几乎不占内存,界面简洁,没有市面上那些浏览器那么多限制,主要是自己用,直到现在还经常能够用到,放硬盘里很久了,一直舍不得分享出来,反正放着也是浪费,还是分享出来吧!算是做好事了!
用java写的一个简单浏览器
-
QT开源网页浏览器otter-browser的源代码
Otter Browser 水獭浏览器 水獭浏览器 - 模仿opera12界面, 基于qt5的webkit浏览器. 等于个人制作山寨版Safari, 支持二代半引擎, 苹果WebEngine/谷歌Blink. 作者: 波兰 Emdek 恩德克 代码可用,本人亲测,qt5.5+vs2013编译一次通过,且运行正常。
java写得一个模拟浏览器源码
java写得一个模拟浏览器源码 源代码下载地址http://www.zuidaima.com/share/1801295921646592.htm
Java 实现的简易浏览器
Java 实现的简易浏览器(Think浏览器的实现 去年写的代码,时间过去的有点长了,具体的代码就不怎么解释了,直接贴上代码,希望对大家有帮助。 [java] view plaincopy /*   * Name:MainUI   * Writer:bitsjx   * Date:2009-12-07   * Time:00:20 
C#网页浏览器
网页浏览器,用C#语言编写的