shadow root
This commit is contained in:
@@ -50,7 +50,7 @@
|
|||||||
|
|
||||||
var title = document.querySelector("#addtitle");
|
var title = document.querySelector("#addtitle");
|
||||||
title.innerHTML =
|
title.innerHTML =
|
||||||
"<div><p>second title</p><ul><li><p>second title</p></li></ul></div>";
|
"<div><p>second title</p><ul><li>second title</li><li><p>second title</p></li></ul></div>";
|
||||||
}, 1000);
|
}, 1000);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -144,13 +144,19 @@ export class Translator {
|
|||||||
|
|
||||||
_querySelectorAll = (selector, node) => {
|
_querySelectorAll = (selector, node) => {
|
||||||
try {
|
try {
|
||||||
return node.querySelectorAll(selector);
|
return Array.from(node.querySelectorAll(selector));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(`[querySelectorAll err]: ${selector}`);
|
console.log(`[querySelectorAll err]: ${selector}`);
|
||||||
}
|
}
|
||||||
return [];
|
return [];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_queryFilter = (selector, rootNode) => {
|
||||||
|
return this._querySelectorAll(selector, rootNode).filter(
|
||||||
|
(node) => this._queryFilter(selector, node).length === 0
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
_queryNodes = (rootNode = document) => {
|
_queryNodes = (rootNode = document) => {
|
||||||
// const childRoots = Array.from(rootNode.querySelectorAll("*"))
|
// const childRoots = Array.from(rootNode.querySelectorAll("*"))
|
||||||
// .map((item) => item.shadowRoot)
|
// .map((item) => item.shadowRoot)
|
||||||
@@ -174,7 +180,7 @@ export class Translator {
|
|||||||
outNodes.forEach((outNode) => {
|
outNodes.forEach((outNode) => {
|
||||||
if (outNode.shadowRoot) {
|
if (outNode.shadowRoot) {
|
||||||
this._rootNodes.add(outNode.shadowRoot);
|
this._rootNodes.add(outNode.shadowRoot);
|
||||||
this._querySelectorAll(inSelector, outNode.shadowRoot).forEach(
|
this._queryFilter(inSelector, outNode.shadowRoot).forEach(
|
||||||
(item) => {
|
(item) => {
|
||||||
this._tranNodes.add(item);
|
this._tranNodes.add(item);
|
||||||
}
|
}
|
||||||
@@ -183,7 +189,7 @@ export class Translator {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this._querySelectorAll(selector, rootNode).forEach((item) => {
|
this._queryFilter(selector, rootNode).forEach((item) => {
|
||||||
this._tranNodes.add(item);
|
this._tranNodes.add(item);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user