當前位置:首頁 » 網頁前端 » webcomponent開發app
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

webcomponent開發app

發布時間: 2022-04-30 18:47:42

① Web Components 是個什麼樣的東西

Web Components
Web Components 總的來說是提供一整套完善的封裝機制來把 Web 組件化這個東西標准化,每個框架實現的組件都統一標准地進行輸入輸出,這樣可以更好推動組件的復用。結合上邊各個部分的內容,我們整合一起來看下應該怎麼使用這個標准來實現我們的組件:
<!-- components/header.html -->
<template id="">
<style>
::content li {
display: inline-block;
padding: 20px 10px;
}
</style>
<content select="ul"></content>
</template>
<script>
(function() {
const element = Object.create(HTMLInputElement.prototype)
const template = document.currentScript.ownerDocument.querySelector('template')

element.createdCallback = function() {
const shadowRoot = this.createShadowRoot()
const clone = document.importNode(template.content, true)
shadowRoot.appendChild(clone)

this.addEventListener('click', function(event) {
console.log(event.target.textContent)
})
}

document.registerElement('test-header', { prototype: element })
})()
</script>

這是一個簡單的組件的例子,用於定義一個 test-header,並且給傳遞進來的子元素 li 添加了一些組件內部的樣式,同時給組件綁定了一個點擊事件,來列印點擊目標的文本內容。
看下如何在一個 HTML 文件中引入並且使用一個組件:
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>

<link rel="import" href="components/header.html">
</head>
<body>
<test-header>
<ul>
<li>Home</li>
<li>About</li>
</ul>
</test-header>
</body>
</html>

一個 import 的 <link> 把組件的 HTML 文件引用進來,這樣會執行組件中的腳本,來注冊一個 test-header 元素,這樣子我們便可以在主文檔中使用這個元素的標簽。
上邊的例子是可以在 chrome 正常運行的。
所以,根據上邊簡單的例子可以看出,各個部分的內容是有機結合在一起,Custom Elements 提供了自定義元素和標簽的能力,template 提供組件模板,import 提供了在 HTML 中合理引入組件的方式,而 Shadow DOM 則處理組件間代碼隔離的問題。
不得不承認,Web Components 標準的提出解決了一些問題,必須交由瀏覽器去處理的是 Shadow DOM,在沒有 Shadow DOM 的瀏覽器上實現代碼隔離的方式多多少少有缺陷。個人我覺得組件化的各個 API 不夠簡潔易用,依舊有 getElementById 這些的味道,但是交由各個類庫去簡化也可以接受,而 import 功能上沒問題,但是載入多個組件時性能問題還是值得商榷,標准可能需要在這個方面提供更多給瀏覽器的指引,例如是否有可能提供一種單一請求載入多個組件 HTML 的方式等。
在現在的移動化趨勢中,Web Components 不僅僅是 Web 端的問題,越來越多的開發者期望以 Web 的方式去實現移動應用,而多端復用的實現漸漸是以組件的形式鋪開,例如 React Native 和 Weex。所以 Web Components 的標准可能會影響到多端開發 Web 化的一個模式和發展。
最後,再啰嗦一句,Web Components 個人覺得還是未來發展趨勢,所以才有了這個文章。

② Microsoft office 2003 web components是什麼

Microsoft office 2003 web components是是由微軟Excel和Access的程序員開發的一組COM控制項,設計的目的是為眾多的控制項容器提供交互的電子表格建模,數據報表和數據可視化功能。OWC庫包含四個主要的組件:電子表格組件,圖表組件,透視表組件和數據源組件。

(2)webcomponent開發app擴展閱讀:

Microsoft office 2003 web components的控制項被設計成在外觀,使用感受和行為表現上像是微軟Office的精簡版一樣。這些控制項不包含Excel和Access中的所有的功能,也不會為了在瀏覽器中查看一個報表而動態的下載完整的Excel和Access。

但這些控制項還能夠讀寫Excel 2000的HTML格式的文件,允許用戶點擊一個按鈕,將當前的數據載入到Excel中,以便作更加強大的分析。

Microsoft office 2003 web components支持的操作系統有 Windows 2000 Service Pack 4; Windows Server 2003; Windows Server 2003 Service Pack 1; Windows Server 2003 Service Pack 2; Windows Small Business Server 2003。

③ microsoft office web components可以卸載嗎

owc庫包含四個主要的組件:電子表格組件,圖表組件,透視表組件和數據源組件。
「office web components」名稱中的單詞」office」表示這些控制項就是由那些開發微軟excel和access的程序員中的一部分人開發的,並且這些控制項被設計成在外觀,使用感受和行為表現上就像是他們的微軟office兄弟的精簡版一樣。這些控制項確實不包含excel和access中的所有的功能——換句話說, 也不會為了在瀏覽器中查看一個報表而動態的下載完整的excel和access,這些控制項也確實包含了許多的常用功能,尤其是那些在與已有內容進行交互時所必需的功能。此外,這些控制項還能夠讀寫excel 2000的html格式的文件,允許用戶點擊一個按鈕,將當前的數據載入到excel中,以便作更加強大的分析。不安裝就對了

④ microsoft office web componets是什麼軟體 起什麼作用

Office
Web
Components是一組的COM控制項,設計的目的是為眾多的控制項容器提供交互的電子表格建模,數據報表和數據可視化功能。OWC庫包含四個主要的組件:電子表格組件,圖表組件,透視表組件和數據源組件。
「Office
Web
Components」名稱中的單詞」Office」表示這些控制項就是由那些開發微軟Excel和Access的程序員中的一部分人開發的,並且這些控制項被設計成在外觀,使用感受和行為表現上就像是他們的微軟Office兄弟的精簡版一樣。這些控制項確實不包含Excel和Access中的所有的功能——換句話說,你也不會為了在瀏覽器中查看一個報表而動態的下載完整的Excel和Access,這些控制項也確實包含了許多的常用功能,尤其是那些在與已有內容進行交互時所必需的功能。此外,這些控制項還能夠讀寫Excel
2000的HTML格式的文件,允許用戶點擊一個按鈕,將當前的數據載入到Excel中,以便作更加強大的分析。

⑤ microsoft office web components是什麼程序,有什麼用的,不裝這個電腦會有什麼樣的問題嗎

OWC庫包含四個主要的組件:電子表格組件,圖表組件,透視表組件和數據源組件。 「Office Web Components」名稱中的單詞」Office」表示這些控制項就是由那些開發微軟Excel和Access的程序員中的一部分人開發的,並且這些控制項被設計成在外觀,使用感受和行為表現上就像是他們的微軟Office兄弟的精簡版一樣。這些控制項確實不包含Excel和Access中的所有的功能——換句話說,你也不會為了在瀏覽器中查看一個報表而動態的下載完整的Excel和Access,這些控制項也確實包含了許多的常用功能,尤其是那些在與已有內容進行交互時所必需的功能。此外,這些控制項還能夠讀寫Excel 2000的HTML格式的文件,允許用戶點擊一個按鈕,將當前的數據載入到Excel中,以便作更加強大的分析。不安裝就對了

⑥ Web Components是什麼和其他的前端開發方式有什麼優缺點

Web Components 是組件規范,但還沒有足夠多的瀏覽器支持,目前只有chrome34+支持。
簡單介紹:
Web Components的組件開發者在一個獨立的沙箱(shadow dom)當中開發組件(包含:dom,css,js)
而組件的使用者則可以通過:
<slider>
<frame><img src="1.jpg"/></frame>
<frame><img src="1.jpg"/></frame>
<frame><img src="1.jpg"/></frame>
</slider>

這樣的自定義標簽來使用組件,就像瀏覽器原生支持的一樣。

⑦ Web Components是不是Web的未來

今天 ,Web
組件已經從本質上改變了HTML。初次接觸時,它看起來像一個全新的技術。Web組件最初的目的是使開發人員擁有擴展瀏覽器標簽的能力,可以自由的進行定
制組件。面對新的技術,你可能會覺得無從下手。那這篇文章將為你揭開Web組件神秘的面紗。如果你已經熟知HTML標簽和DOM編程,已經擁有了大量可用
的Web組件,那麼你已經是Web組件專家了。

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>

揭露鉤子的秘密

當隱藏自定義組件內部標記,有時也需要在當前頁面對組件中的內部特定組件進行樣式設置。

例如,如果我們自定義一個日歷插件,在不允許用戶控制整個插件的情況下,允許最終用戶去定義按鈕的樣式。

這是其中的部分特性和偽組件:

createdCallback: {

value: function() {

var shadow = this.createShadowRoot();

shadow.innerHTML = 'Hello <em part="world">World</em>';

}

}

這是在當前頁面設置自定義組件內部組件樣式的方法:

my-element::part(world) {

color: green;

}

這部分內容介紹了封裝web組件的基本方式。Shadow DOM 是我們可以任意修改Web組件中的標簽。在例子中,我們設置了「World」的樣式,但是使用者卻無法判斷它是<em>標簽。

在你嘗試自定義Web組件之前,需要確保瀏覽器的相關特性已經打開。如果使用 Chrome,在 Chrome 中打開chrome://flags ,並且開啟「experimental Web Platform features」。

這僅僅是個開始

所有本文中介紹的內容,都是模擬一些簡單的瀏覽器標准行為。我們已經習慣於和原生的瀏覽器組件進行交互,因此自定義組件的步驟並不是想像中的那個難。Web組件最終提供我們一種實現簡單、一致、可復用、封裝和組合部件的方法,這是一個有意義的開始。

⑧ webcomponents是什麼軟體

回答軟體(*^ω^*)

⑨ 如何在WEB網頁上編寫程序調用海康威視webcomponents插件顯示圖像

具體編寫操作如下:

  • 1.打開WEB,圖中示例為一個顯示一組隨機數組的程序,程序名稱為ex14.c。編寫完成後,同時按下鍵盤的【alt】和字母【X】鍵。