寫一個瀏覽器
① 寫一個瀏覽器得用多長的時間
程序寫得好的話,像360瀏覽器之類的做個馬甲,內核調IE或其他的內核,不管界面美觀的話,天天忙,一個月把就夠了。
或者說:只是實現http協議、監聽,並讀取url顯示出簡單文本什麼的熟手加上找參考資料的時間10來天應該也夠了。
但是:要自己開發一個完善的瀏覽器的話不現實,微軟的團隊做IE8都是幾年,光是解析html、css和js就夠一個團隊搞上幾年了。
② 易語言寫個 瀏覽器
去下載 黑鷹易語言vip培訓課程 裡面有幾課就是寫瀏覽器 15~20課之間 具體是哪幾課我記不清了 不過反正有個很詳細的教程 主要是用 超文本瀏覽框.執行命令() 這條命令
③ 自己怎麼寫個瀏覽器
如果是完全自己寫的話有點挑戰性(反正我寫不出來),我們常用的瀏覽器,有相當一部分是基於 IE 內核的,或者是基於其他內核,從這一點來看,脫離 IE相關控制項或其他控制項,自己獨立編寫一個瀏覽器是很困難的。
感覺瀏覽器有點像腳本宿主。不過僅僅是解讀html代碼就很有挑戰性了,何況還有顯示樣式、腳本等一系列的問題。
所以,編寫一個基於 IE內核的瀏覽器倒是有可能的,完全自己編寫一個不基於其他內核的瀏覽器成功的可能性不大。如果你不藉助 IE或其他相關控制項編寫出來的話,我拜你為師!
④ 用java編寫一個簡單的瀏覽器程序
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.event.*;
@SuppressWarnings("serial")
class Win3 extends JFrame implements ActionListener,Runnable
{
JButton button;
URL url;
JTextField text;
JEditorPane editPane;
byte b[]=new byte[118];
Thread thread;
public Win3()
{
text=new JTextField(20);
editPane=new JEditorPane();
editPane.setEditable(false);
button=new JButton("確定");
button.addActionListener(this);
thread=new Thread(this);
JPanel p=new JPanel();
p.add(new JLabel("輸入網址:"));
p.add(text);
p.add(button);
Container con=getContentPane();
con.add(new JScrollPane(editPane),BorderLayout.CENTER);
con.add(p,BorderLayout.NORTH);
setBounds(60,60,400,300);
setVisible(true);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
editPane.addHyperlinkListener(new HyperlinkListener()
{
public void hyperlinkUpdate(HyperlinkEvent e)
{
if(e.getEventType()==
HyperlinkEvent.EventType.ACTIVATED)
{
try{
editPane.setPage(e.getURL());
}
catch(IOException e1)
{
editPane.setText(""+e1);
}
}
}
}
);
}
public void actionPerformed(ActionEvent e)
{
if(!(thread.isAlive()))
thread=new Thread(this);
try{
thread.start();
}
catch(Exception ee)
{
text.setText("我正在讀取"+url);
}
}
public void run()
{
try {
int n=-1;
editPane.setText(null);
url=new URL(text.getText().trim());
editPane.setPage(url);
}
catch(MalformedURLException e1)
{
text.setText(""+e1);
return;
}
catch(IOException e1)
{
text.setText(""+e1);
return;
}
}
}
public class Example3
{
public static void main(String args[])
{
new Win3();
}
}
⑤ 我想用C++寫一個瀏覽器,應該怎樣開始呢
升級,增加了面對對象OOP編程,也繼承了C的面對過程特性。
VB和C/C++完全兩種概念,無論語法還是其他特性都有所不同。
到底從C還是從VB其實是無所謂的,如果你覺得你想立馬見效,就能寫一點什麼可用的程序,建議你學VB,如果你想在程序設計上以後能掌握多的語言,運用更多技術,建議你學C
另外,團IDC網上有許多產品團購,便宜有口碑
⑥ 用java編寫一個瀏覽器
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.DefaultStyledDocument;
//HTTP連接與瀏覽
public class HTTPBrowser extends JFrame{
JTextField jtfAddress; //輸入html文件地址或網址
JTextPane jtpShow; //顯示頁面
JTextArea jtaSource; //顯示HTML源文件
public HTTPBrowser(){
super("HTTP連接與瀏覽"); //調用父類構造函數
jtfAddress=new JTextField(30); //實例化地址輸入框
jtpShow=new JTextPane(); //實例化顯示內容框
jtaSource=new JTextArea();
JPanel p1=new JPanel(); //實例化面板
JSplitPane spane=new JSplitPane(JSplitPane.VERTICAL_SPLIT); //實例化分隔面板
p1.add(new JLabel("地址")); //增加組件到面板上
p1.add(jtfAddress);
spane.add(new JScrollPane(jtpShow),JSplitPane.TOP);
spane.add(new JScrollPane(jtaSource),JSplitPane.BOTTOM);
spane.setDividerLocation(130); //設置分隔位置
spane.setDividerSize(2); //設置分隔欄尺寸
Container container=getContentPane(); //得到容器
container.add(p1,BorderLayout.NORTH); //增加組件到容器上
container.add(spane,BorderLayout.CENTER);
jtfAddress.addActionListener(new ShowHTMLListener()); //輸入地址文本域事件處理
setSize(380,300); //設置窗口尺寸
setVisible(true); //設置窗口可視
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關閉窗口時退出程序
}
class ShowHTMLListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
try{
URL address=new URL(jtfAddress.getText()); //得到HTML頁面的URL地址
jtpShow.setContentType("text/html"); //設置內容格式
jtpShow.setPage(address); //設置顯示頁面
BufferedReader in= new BufferedReader(new InputStreamReader(address.openStream())); //獲取輸入流
String line;
StringBuffer content = new StringBuffer(); //文件內容
while ((line = in.readLine()) != null) { //讀取文件
content.append(line+"\n");
}
jtaSource.setText(new String(content)); //設置顯示文本
in.close(); //關閉輸入流
}
catch (Exception ex){
ex.printStackTrace(); //輸出出錯信息
}
}
}
public static void main(String[] args){
new HTTPBrowser();
}
}
這還有一個
import java.awt.*;
import java.awt.event.*;
import java.net.URL;
import javax.swing.*;
//html瀏覽器
public class HTTPBrowserDemo extends JFrame{
JTextField jtfAddress; //輸入html文件地址或網址
JButton jbGo; //轉到文件按鈕
JTextPane jtpShow; //顯示文件
JLabel jlInfo; //提示信息
public HTTPBrowserDemo(){
super("html瀏覽器"); //調用父類構造函數
jtfAddress=new JTextField(20); //實例化地址輸入框
jbGo=new JButton("轉到"); //實例化轉向按鈕
jtpShow=new JTextPane(); //實例化顯示內容框
jlInfo=new JLabel(); //實例化信息提示標簽
JPanel panel=new JPanel(); //實例化面板
panel.add(new JLabel("地址")); //增加組件到面板上
panel.add(jtfAddress);
panel.add(jbGo);
JScrollPane jsp=new JScrollPane(jtpShow); //實例化滾動窗體
Container container=getContentPane(); //得到容器
container.add(panel,BorderLayout.NORTH); //增加組件到容器上
container.add(jsp,BorderLayout.CENTER);
container.add(jlInfo,BorderLayout.SOUTH);
jbGo.addActionListener(new ShowHTMLListener()); //事件處理,發生按鈕點擊時顯示頁面內容
jtfAddress.addActionListener(new ShowHTMLListener());
setSize(350,280); //設置窗口尺寸
setVisible(true); //設置窗口可視
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //關閉窗口時退出程序
}
class ShowHTMLListener implements ActionListener { //顯示頁面內容事件處理
public void actionPerformed(ActionEvent event) {
try{
jlInfo.setText("正在連接..."); //顯示提示信息
URL address=new URL(jtfAddress.getText()); //得到HTML頁面的URL地址
jtpShow.setPage(address); //設置顯示頁面
jlInfo.setText("完成");
}
catch (Exception ex){
jlInfo.setText("連接出錯");
ex.printStackTrace(); //輸出出錯信息
}
}
}
public static void main(String[] args){
new HTTPBrowserDemo();
}
}
⑦ 如何開發一個最簡單的瀏覽器
一個高復效的瀏覽器一定是制C語言作支撐的
自己從頭寫一個工作量很大,
解析html把每個標記轉化成樹節點構成一顆渲染樹,在屏幕上畫出來,這是最簡單的純文字的
我聽別人說研究webkit就可以,只需要二次開發使用
真想做的話以QQ瀏覽器做榜樣吧,功能很強大也很人性化
⑧ 自己動手寫一個瀏覽器,可能實現嗎
網路搜「github」裡面有開源項目,有編程基礎的基礎下先從套殼瀏覽器開始吧
⑨ 怎樣用java編寫一個WEB瀏覽器
一、HTTP協議的作用原理
WWW是以作為傳輸媒介的一個應用系統,WWW網上最基本的傳輸單位是Web網頁。WWW的工作基於客戶機/伺服器計算模型,由Web 瀏覽器(客戶機)和Web伺服器(伺服器)構成,兩者之間採用超文本傳送協議(HTTP)進行通信。HTTP協議是基於TCP/IP協議之上的協議,是Web瀏覽器和Web伺服器之間的應用層協議,是通用的、無狀態的、面向對象的協議。HTTP協議的作用原理包括四個步驟:
(1) 連接:Web瀏覽器與Web伺服器建立連接,打開一個稱為socket(套接字)的虛擬文件,此文件的建立標志著連接建立成功。
(2) 請求:Web瀏覽器通過socket向Web伺服器提交請求。HTTP的請求一般是GET或POST命令(POST用於FORM參數的傳遞)。GET命令的格式為:
GET 路徑/文件名 HTTP/1.0
文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本。
(3) 應答:Web瀏覽器提交請求後,通過HTTP協議傳送給Web伺服器。Web伺服器接到後,進行事務處理,處理結果又通過HTTP傳回給Web瀏覽器,從而在Web瀏覽器上顯示出所請求的頁面。
⑩ 自己寫個瀏覽器什麼語言最好
您好!
其實基於ie核心的瀏覽器使用delphi,c builder等快速開發工具還是有可能實現的。如果開發一版個瀏覽器,可權以基於linux上實現,網上有參考的例子,而且這也是相當核心相當值得去做的事情。