在谷歌瀏覽器的開發工具中,我看到一個#shadow-root
正確的<html lang="en">
標籤。它做什麼以及它用於什麼?我沒有在Firefox或IE中看到它;只有在Chrome中,這是一個特殊功能嗎?什麼是影子根
如果我打開它,它顯示<head>
和<body>
和鏈接旁邊名爲reveal
,通過點擊,它指向的<head>
和<body>
,沒有別的。
在谷歌瀏覽器的開發工具中,我看到一個#shadow-root
正確的<html lang="en">
標籤。它做什麼以及它用於什麼?我沒有在Firefox或IE中看到它;只有在Chrome中,這是一個特殊功能嗎?什麼是影子根
如果我打開它,它顯示<head>
和<body>
和鏈接旁邊名爲reveal
,通過點擊,它指向的<head>
和<body>
,沒有別的。
這是Shadow DOM存在的特殊指標。這些已經存在了多年,但直到最近,開發人員才從中獲得API。 Chrome已經有了這個功能一段時間了,其他瀏覽器仍然在趕上。可以在「元素」部分下的DevTools設置中進行切換。取消選中「顯示用戶代理Shadow DOM」。這至少會隱藏內部創建的任何Shadow DOM(如選擇元素)。如果影響用戶創建的元素(例如自定義元素),我不確定。
這些問題也出現在iframes之類的東西里面,其中有一個單獨的DOM樹嵌套在另一個DOM樹中。
Shadow DOM只是簡單地說,頁面的某個部分,其內部有其自己的 DOM。樣式和腳本可以在該元素中進行限定,因此只能在該邊界內執行。
這是Web Components工作所需的主要部件之一。這是一項允許開發人員構建自己的封裝組件的新技術,開發人員可以像使用任何其他HTML元素一樣使用它。
作爲Shadow DOM的一個示例,當您在網頁上有<video>
標記時,它在主DOM中顯示爲一個標記,但是如果啓用了Shadow DOM,您將能夠看到視頻播放器的HTML (玩家DOM)。
這是本文中恰當地解釋,http://webcomponents.org/articles/introduction-to-shadow-dom/
所以這是一個明顯的問題是如何使用任何項目的創建自定義元素或Web組件?假設我正在使用聚合物... –