導航:首頁 > 源碼編譯 > web組件源碼

web組件源碼

發布時間:2022-05-07 20:31:12

❶ webview中有沒有辦法獲取到網頁源代碼,載入AJAX後的

WebView(網路視圖)能載入顯示網頁,可以將其視為一個瀏覽器。它使用了WebKit渲染引擎載入顯示網頁,實現WebView有以下兩種不同的方法:
第一種方法的步驟:
1.在要Activity中實例化WebView組件:WebView webView = new WebView(this);
2.調用WebView的loadUrl()方法,設置WevView要顯示的網頁:
互聯網用:webView.loadUrl
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.調用Activity的setContentView( )方法來顯示網頁視圖
4.用WebView點鏈接看了很多頁以後為了讓WebView支持回退功能,需要覆蓋覆蓋Activity類的onKeyDown()方法,如果不做任何處理,點擊系統回退剪鍵,整個瀏覽器會調用finish()而結束自身,而不是回退到上一頁面
5.需要在AndroidManifest.xml文件中添加許可權,否則會出現Web page not available錯誤。
<uses-permission android:name="android.permission.INTERNET" />

❷ 如何快速讀懂項目源碼javaWeb

一:學會如何讀一個JavaWeb項目源代碼 步驟:表結構->web.xml->mvc->db->spring
ioc->log-> 代碼
1、先了解項目資料庫的表結構,這個方面是最容易忘記 的,有時候我們只顧著看每一個方法是怎麼進行的,卻沒
有去了解資料庫之間的主外鍵關聯。其實如果先了解數據 庫表結構,再去看一個方法的實現會更加容易。
2、然後需要過一遍web.xml,知道項目中用到了什麼攔
截器,監聽器,過濾器,擁有哪些配置文件。如果是攔截 器,一般負責過濾請求,進行AOP 等;如果是監 可能是定時任務,初始化任務;配置文件有如使用了 spring
後的讀取mvc 相關,db 相關,service 相關,aop 相關的文件。
3、查看攔截器,監聽器代碼,知道攔截了什麼請求,這
個類完成了怎樣的工作。有的人就是因為缺少了這一步, 自己寫了一個action,配置文件也沒有寫錯,但是卻怎麼
調試也無法進入這個action,直到別人告訴他,請求被攔
4、接下來,看配置文件,首先一定是mvc相關的,如 springmvc
中,要請求哪些請求是靜態資源,使用了哪些 view 策略,controller 註解放在哪個包下等。 然後是db 相關配置文件,看使用了什麼資料庫,使用了
什麼orm框架,是否開啟了二級緩存,使用哪種產品作 為二級緩存,事務管理的處理,需要掃描的實體類放在什 么位置。最後是spring 核心的ioc
功能相關的配置文件, 知道介面與具體類的注入大致是怎樣的。當然還有一些如 apectj 置文件,也是在這個步驟中完成
5、log
相關文件,日誌的各個級別是如何處理的,在哪些 地方使用了log 記錄日誌
6、從上面幾點後知道了整個開源項目的整體框架,閱讀 每個方法就不再那麼難了。
7、當然如果有項目配套的開發文檔也是要閱讀的。

❸ 怎樣獲取WebBrowser控制項的全部的網頁源代碼

注意嵌套模式的iframe框架
可能多層iframe框架嵌套,要分析

建議你可以用post模擬登錄,登陸完,再把cookie塞給webbrowser

❹ 網頁的 「源碼」怎麼編寫

網頁中源文件的內容是HTML,了解它就可以編寫靜態網頁了。至於動態頁面通常都是用伺服器腳本來編寫的。如:ASP、PHP、perl等 HTML(HyperTextMark-upLanguage)即超文本標記語言,是WWW的描述語言。設計HTML語言的目的是為了能把存放在一台電腦中的文本或圖形與另一台電腦中的文本或圖形方便地聯系在一起,形成有機的整體,人們不用考慮具體信息是在當前電腦上還是在網路的其它電腦上。我們只需使用滑鼠在某一文檔中點取一個圖標,Internet就會馬上轉到與此圖標相關的內容上去,而這些信息可能存放在網路的另一台電腦中。 HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML的結構包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內容。 HTML是網路的通用語言,一種簡單、通用的全置標記語言。它允許網頁製作人建立文本與圖片相結合的復雜頁面,這些頁面可以被網上任何其他人瀏覽到,無論使用的是什麼類型的電腦或瀏覽器。神奇嗎?一點都不神奇,因為現在你看到的就是這種語言寫的頁面. 也許你聽說過許多可以編輯網頁的軟體,事實上,你不需要用任何專門的軟體來建立HTML頁面;你所需要的只是一個文字處理器(如McrosoftWord\記事本\寫字板等等)以及HTML的工作常識。其實你很快就會發現,基礎的HTML語言簡直容易死了。 HTML只不過是組合成一個文本文件的一系列標簽。它們很樂隊的指揮,告訴樂手們哪裡需要停頓,哪裡需要激昂. HTML標簽通常是英文詞彙的全稱(如塊引用:blockquote)或縮略語(如「p」代表Paragragh),但它們的與一般文本有區別,因為它們放在單書名號里。故Paragragh標簽是<p>,塊引用標簽是<blockquote>。有些標簽說明頁面如何被格式化(例如,<p>開始一個新段落),其他則說明這些詞如何顯示(<b>使文字變粗)還有一些其他標簽提供在頁面上不顯示的信息--例如標題。 關於標簽,需要記住的是,它們是成雙出現的。每當使用一個標簽--如<blockquote>,則必須以另一個標簽</blockquote>將它關閉。注意「blockquote」前的斜杠,那就是關閉標簽與打開標簽的區別。 基本HTML頁面以<html>標簽開始,以</html>結束。在它們之間,整個頁面有兩部分--標題和正文。 標題詞--夾在<head>和</head>標簽之間--這個詞語在打開頁面時出現在屏幕底部最小化的窗口。正文則夾在<body>和</body>之間--即所有頁面的內容所在。頁面上顯示的任何東西都包含在這兩個標簽之中。 那麼讓我們建立一個簡單的範例吧,非常容易的。第一步,當然是要建立一個新的文本文件(記住,如果你在使用比較復雜的文字處理器,就應該用「純文本」或「普通文本」來保存),將它命名為「xxxx.html」。(隨便你起一個什麼名字,但記住,要用英文) 然後你可以用瀏覽器將它打開,你會看見最簡單的自己做的頁面 ASP是Active Server Page的縮寫,意為「活動伺服器網頁」。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與資料庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp,現在常用於各種動態網站中。 ASP是一種伺服器端腳本編寫環境,可以用來創建和運行動態網頁或web應用程序。ASP網頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。利用ASP可以向網頁中添加互動式內容(如在線表單),也可以創建使用HTML網頁作為用戶界面的web應用程序。 與HTML相比,ASP網頁具有以下特點: (1)利用ASP可以實現突破靜態網頁的一些功能限制,實現動態網頁技術; (2)ASP文件是包含在HTML代碼所組成的文件中的,易於修改和測試; (3)伺服器上的ASP解釋程序會在伺服器端制定ASP程序,並將結果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產生的網頁; (4)ASP提供了一些內置對象,使用這些對象可以使伺服器端腳本功能更強。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,並在腳本中對這些信息進行處理,然後向web瀏覽器發送信息; (5)ASP可以使用伺服器端ActiveX組建來執行各種各樣的任務,例如存取資料庫、發現哦那個Email或訪問文件系統等。 (6)由於伺服器是將ASP程序執行的結果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可放置ASP程序代碼被竊取。 PHP是一個基於服務端來創建動態網站的腳本語言,您可以用PHP和HTML生成網站主頁。當一個訪問者打開主頁時,服務端便執行PHP的命令並將執行結果發送至訪問者的瀏覽器中,這類似於ASP和CoildFusion,然而PHP和他們不同之處在於PHP開放源碼和跨越平台,PHP可以運行在WINDOWS NT和多種版本的UNIX上。它不需要任何預先處理而快速反饋結果,它也不需要mod_perl的調整來使您的伺服器的內存映象減小。PHP消耗的資源較少,當PHP作為Apache Web伺服器一部分時,運行代碼不需要調用外部二進製程序,伺服器不需要承擔任何額外的負擔。

❺ WebBrowser控制項能不能通過源碼顯示成網頁 搞定追加...在線等

首先在Form_Load中加入
WebBrowser1.Navigate "about:blank"
確保Webbrowser1可用
方法1:

s = " hello world "
WebBrowser1.Document.Write s

方法2:

Dim o

Set o = WebBrowser1.Document.selection.createrange
Debug.Print o
If (Not o Is Nothing) Then
o.pasteHTML "哈哈"
Set o = Nothing
End If

方法3:

''插入文本框
Dim o

Set o = WebBrowser1.Document.selection.createrange

o.execCommand "InsertTextArea", False, "xxx"

其中方法3是採用了調用execCommand並且傳遞控制命令的方法,通過這種方法還可以插入圖片等頁面元素,詳情可以參考MSDN的execCommand命令。

❻ 獲得WebBrowser控制項中的HTML源碼

LPDISPATCH docbrowser = webbrowser.get_Document();
IPersistStreamInit *pPSI=NULL;
docbrowser->QueryInterface(&pPSI);
HGLOBAL hHTMLText = GlobalAlloc(GMEM_FIXED, 1024*10);
IStream *pStream = NULL;
memset(hHTMLText,'\0',1024*10);
CreateStreamOnHGlobal(hHTMLText, TRUE, &pStream);
pPSI->Save(pStream, FALSE);

webbrowser是webbrowser控制項名,執行上述代碼後,html代碼保存在hHTMLText中,用char*指向之即可用了

❼ 如何使用webbrowser控制項獲取網頁源代碼

使用WebBrowser控制項獲取網頁源碼的方法,大多數的人都是使用以下的方法獲取:
(WebBrowser1.Document as IHtmlDocument2).body.outerHtml;
這種方法的美中不足就是只能獲取網頁<body>與</body>之間的網頁源碼,而<body>之外如<head>部分的網頁源碼就獲取不到了,下面是某大牛老師給大家分享的方法,可參考:
procere TForm1.Button1Click(Sender: TObject);
var
ole_index, oleObj: OleVariant;
i: integer;
begin
if WebBrowser1.Busy then Exit; //網頁載入中,退出。
Memo1.Lines.Clear;
//獲取主框架網址及網頁源碼
Memo1.Lines.Add(WebBrowser1.OleObject.document.url);
Memo1.Lines.Add(WebBrowser1.OleObject.document.documentElement.outerHTML);
Memo1.Lines.Add(' '); Memo1.Lines.Add(' '); //添加空行
//循環獲取每一個子框架網址及網頁源碼
for i := 0 to WebBrowser1.OleObject.document.frames.length - 1 do
begin
ole_index := i;
oleObj := WebBrowser1.OleObject.document.frames.item(ole_index);
Memo1.Lines.Add(oleObj.document.url);
Memo1.Lines.Add(oleObj.document.documentElement.outerHtml);
Memo1.Lines.Add(' '); Memo1.Lines.Add(' '); //添加空行
end;
end;

❽ Web Components是不是Web的未來

隨著各式各樣的用戶需求,瀏覽器的原生組件已經無法滿足需求。Web組件也就變得越來越重要。
我們將以自定義一個傳統三方插件為例來介紹Web組件。
首先,需要引用插件的CSS和JavaScript資源:
<link rel="stylesheet" type="text/css" href="my-widget.css" />

<script src="my-widget.js"></script>

接下來,我們需要向頁面中添加佔位符。
<div data-my-widget></div>

最後,我們需要使用腳本來找到並且實例化這個佔位符為Web組件。

// 使用 jQuery 初始化組件

$(function() {

$('[data-my-widget]').myWidget();

});

通過以上是三個基本步驟。已經完成了在頁面中添加了自定義插件,但是瀏覽器無法確定自定義組件的生命周期,如果通過以下方式聲明則使自定義組件生命周期變得清晰了。
el.innerHTML = '<div data-my-widget></div>';

因為這不是一個內置的組件,我們現在必須手動實例化新組件,
$(el).find('[data-my-widget]').myWidget();

避免這種復雜設置方法的有效方式是完全抽象DOM交互。不過,這個動作也比較復雜,需要創建框架或者庫來自定義組件。
面臨的問題
組件一旦被聲明,佔位符已經被替代為原生的HTML標記:

<div data-my-widget>

<div class="my-widget-foobar">

<input type="text" class="my-widget-text" />

<button class="my-widget-button">Go</button>

</div>

</div>

這樣做的弊端是,自定義組件的標記和普通HTML組件的標記混雜在一起,沒有清晰的分割和封裝。這就不可避免的會出現命名及樣式等沖突。
Web組件的產生
隨著三方Web組件的發展,它已經成為了Web開發不可或缺的部分:

<!—導入: -->

<link rel="import" href="my-widget.html" />

<!—使用:-->

<my-widget />

在這個實例中,我們通過導入HTML來添加組件並且立即使用。
更重要的是,因為<my-widget />是瀏覽器原生支持的組件,它直接掛在瀏覽器的生命周期中,允許我們像添加原生組件一樣添加三方組件。
el.innerHTML = '<my-widget />';

// 插件當前已經被實例化

當查看這個組件的HTML 源碼,你會發現它僅僅是一個單一的標簽。如果啟用瀏覽器Shadow DOM 特性,才可以查看標簽內的組件,你將會發現一些有趣的事情,

當我們談論Web組件時,我們不是在談論一門新技術。Web組件最初的目的是給我們封裝能力,它可以通過自定義組件和Shadow DOM 技術來實現。所以,接下來,我們將著重介紹下這兩項技術。介紹以上兩個技術之前,我們最好先梳理下已知瀏覽器原生組件。
已知的HTML組件
我們知道組件可以通過HTML標記或JavaScript來實例化:
使用標記實例化:
<input type="text" />
document.createElement('input');
el.innerHTML = '<input type="text" />';

使用JaveScript實例化:
document.createElement('input')

document.createElement('div')

添加帶有屬性的HTML標簽:

// 創建帶有屬性的input標簽...

el.innerHTML = '<input type="text" value="foobar" />';

//這時value屬性已經同步

el.querySelector('input').value;

組件可以響應屬性的變化:
// 如果我們更改value 屬性值
input.setAttribute('value', 'Foobar');

//屬性值會立即更改
input.value === 'Foobar'; // true

組件可以有內部隱藏的DOM結構:
<!—使用一個input實現復雜的日歷功能-->
<input type="date" />

// 盡管其內部結構比較復雜,但是已經封裝成為一個組件
dateInput.children.length === 0; // true

組件可以使用子組件:

<!—可以給組件提供任意個 'option' 標簽-->

<select>

<option>1</option>

<option>2</option>

<option>3</option>

</select>

組件可以為其子組件提供樣式:
dialog::backdrop {

background: rgba(0, 0, 0, 0.5);

}

最後,組件可以有內置樣式。和自定義插件不同,我們不需要為瀏覽器的原生控制項引用CSS文件。
有了以上的了解,我們已經具備了解Web組件的基礎。使用自定義組件和Shadow DOM,我們可以在我們的插件中定義所有這些標准行為。
自定義組件
注冊一個新組件也比較簡單:
var MyElement = document.register('my-element');

// 'document.register' 返回一個構造函器

你也許注意到上面的自定義組件名稱包含一個連接符。這是為了確保自定義組件名稱不和瀏覽器內置組件不沖突。
現在<my-element />這個組件具備了原生組件的特性,
所以,自定義組件也同樣可以進行普通的DOM操作:
document.create('my-element');

el.innerHTML = '<my-element />';

document.create('my-element');

構建自定義組件
當前,這個自定義組件僅僅有框架,而沒有內容,下面讓我們向其中添加一些內容:

//我們將提供'document.register'的第二個參數:

document.register('my-element', {

prototype: Object.create(HTMLElement.prototype, {

createdCallback: {

value: function() {

this.innerHTML = '<h1>ELEMENT CREATED!</h1>';

}

}

})

});

在這個例子中,我們設置自定義組件的prototype,使用Object.create 方法創建一個繼承於HTMLElement的對象。在這個方法中修改該組件的屬性 innerHTML。
我們定義了createdCallback方法,在每次聲明實例時調用。你同樣可以有選擇性的定義attributeChangedCallback、 enteredViewCallback 和leftViewCallback等方法。
目前為止我們實現了動態修改自定義組件內容的功能,我們仍然需要提供自定義組件的封裝方法,用於隱藏其內部組件。
使用Shadow DOM實現封裝
我們需要完善下createdCallback方法。本次,除了修改innerHTML之外,我們添加一些額外的操作:

createdCallback: {

value: function() {

var shadow = this.createShadowRoot();

shadow.innerHTML = '<h1>SHADOW DOM!</h1>';

}

}

在這個例子中, 你會注意到『SHADOW DOM!』,但是查看源碼時你會發現只有空白的<my-element /> 標簽而已。這里使用創建Shadow Root 方法替代了直接修改頁面。
Shadow Root中的任何組件,是肉眼可見的,但是和當前頁面的樣式和DOM API相隔離。這樣就實現了自定義組件是一個獨立組件的假象。
添加「輕量級DOM」
目前為止,我們的自定義組件是空標簽,但是如果向其中添加內部組件會出現什麼現象呢?
我們假設自定義組件包含的節點如下,

<my-element>

這是一個輕量級 DOM。

<i>hello</i>

<i>world</i>

</my-element>

一旦針對於這個組件的 Shadow Root 被創建,它的子節點不再存在。我們這些隱藏的子節點封裝為輕量級DOM節點。
如果禁用了 Shadow DOM,上面這個例子僅僅會顯示為:這是一個輕量級 DOM『hello world』。
當我們在createdCallback方法中設置 Shadow DOM後,我們可以使用新增內容分配輕量級DOM組件到Shadow DOM 中。

createdCallback: {

value: function() {

var shadow = this.createShadowRoot();

// 子組件'i' 標簽現在已經消失了

shadow.innerHTML =

『輕量級 DOM 中的 "i" 標簽為: ' +

'<content select="i" />';

//現在,在 Shadow DOM 中只有 'i' 標簽是可以見的。

}

}

封裝樣式
Shadow DOM 最重要的作用是創建了和當前頁面隔離的Web組件,使Web組件不受當前頁面樣式和JaveScript腳本的影響。

createdCallback: {

value: function() {

var shadow = this.createShadowRoot();

shadow.innerHTML =

"<style>span { color: green }</style>" +

"<span>I'm green</span>";

}

}

反之,在 Shadow DOM 中定義的樣式也不會影響之外的標簽樣式。
<my-element />

<span>I'm not green</span>

❾ 如何用WebBrowser控制項獲得html網頁完整源代碼

Set doc = WebBrowser1.Document
For Each i In doc.All
str1 = str1 & i.innerhtml & vbclrf
Next
Debug.Print str1

你得等網頁載入完畢才可以

❿ 所有的web前端的源代碼都是公開的嗎

所有的web前端代碼都是開源的,你可以照抄,但你懂人家的思想嗎,可以多看,最好不要照抄

閱讀全文

與web組件源碼相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251
哈夫曼編碼數據壓縮 瀏覽:428
鎖定伺服器是什麼意思 瀏覽:385
場景檢測演算法 瀏覽:617
解壓手機軟體觸屏 瀏覽:352