關於編寫簡易瀏覽器

2021-10-03 23:34:13 字數 2197 閱讀 9097

瀏覽器的實現是分為兩步實現的,首先先搭個瀏覽器的框架,然後我使用了自帶的setpage把頁面顯示出來,但是這樣的做法比較簡單,顯示出來的視窗內容也不是很好看,我還寫了一段**是伺服器端以及客戶端的,當開啟某個頁面的時候,伺服器端以及客戶端會把是否連線成功等資訊寫在顯示上面,以下**都有注釋,不需要一一解釋了

public class htmlbrowser extends jframe

catch (exception e) //初始化顯示介面

}private void jbinit()throws exception //介面初始化

});jscrollpane scrollpane = new jscrollpane();

scrollpane.getviewport().add(jeditorpane);

jpanelmain.add(jtextfieldurl,"north");

jpanelmain.add(scrollpane,"center");

contentpane.add(jlabelprompt,"north");

contentpane.add(jpanelmain,"center");

enableevents(awtevent.window_event_mask);

this.setsize(new dimension(600,500));

this.settitle("網頁瀏覽器");

this.setvisible(true);

} void textfieldurl_actionperformed(actionevent e)//輸入位址後,回車訊息響應

catch(ioexception ex)

}void jeditorpane_hyperlinkupadate(hyperlinkevent e)//響應頁面內開啟超級鏈結的訊息

catch(ioexception io)

}} protected void processwindowevent(windowevent e)//關閉視窗 }

public static void main (string args)//main方法

}

伺服器端

}/** 響應客戶的http請求 */

public static void service(socket socket)throws exception

string uri=parts[1]; //獲得http請求中的uri

outputstream socketout=socket.getoutputstream(); //獲得輸出流

socketout.write(responsefirstline.getbytes());

socketout.write(responseheader.getbytes());

int len=0;

byte buffer=new byte[128];

while((len=in.read(buffer))!=-1)

socketout.write(buffer,0,len);

thread.sleep(1000);//睡眠1秒,等待客戶接收http響應結果

socket.close();

}}使用者端

關於瀏覽器

1 瀏覽器廠商識別號 moz 相容火狐ff android webkit 相容safari chrome o 相容opera ms 相容ie 2 瀏覽器同源策略 第乙個限制 不能通過ajax的方法去請求不同源的文件 第二個限制 瀏覽器中不同域的框架之間是不能進行js互動操作的。document.do...

基於Qt Creator的簡易瀏覽器

本人第一次寫關於qt的專案,有很多不足之處,大神就一笑而過就好了!接下來,進入主題,我今天帶來自己寫的簡易瀏覽器 1.建立工程 帶ui介面 條形框中可以直接輸入初始網頁的 3.新增乙個載入網頁的槽函式 private slots void loadurl 讀取位址載入 函式實現 ui webview...

關於瀏覽器相容

1html相容 新型的網際網路產品通常對瀏覽器版本沒什麼特殊限制,可以採用最新的h5開發 比如語義化標籤section,header,footer 表單中簡單的驗證也可以用type email num telphone 傳統行業通常電腦比較老,用的瀏覽器版本低,所以不能盡量避免用h5 2css相容 ...