You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
در ابتدا `elem.attachShadow({mode: …})` یک درخت سایه ایجاد میکند.
78
75
79
76
ما در این جا ۲ محدودیت داریم:
80
-
81
77
1. هر المان در صفحه فقط میتواند یک سایه داشته باشد.
82
-
2. المان `elem` باید یک المان سفارشی سازی شده(custom) یا یکی از المان های "article", "aside", "blockquote", "body", "div", "footer", "h1..h6", "header", "main" "nav", "p", "section", "span" باشد. دیگر المان ها مثل `<imb>` نمیتوانند سایه داشته باشند.
83
-
84
-
گزینه `mode` سطح جداسازی (encapsulation) را مشخص میکند. و باید یکی از دو مقدار زیر را داشته باشد:
78
+
2. المان `elem` باید یک المان سفارشی سازی شده(custom) یا یکی از المان های "article", "aside", "blockquote", "body", "div", "footer", "h1..h6", "header", "main" "nav", "p", "section", "span" باشد. دیگر المان ها مثل `<img>` نمیتوانند سایه داشته باشند.
85
79
80
+
گزینه `mode` سطح جداسازی (encapsulation) را مشخص میکند. و باید یکی از دو مقدار زیر را داشته باشد:
86
81
-`"open"` -- قابل دسترس باشد `elem.shadowRoot` که باعث میشود سایه تحت.
87
82
88
83
هر کدی قابلیت دسترسی به درخت سایه المان `elem` را دارد.
89
-
90
84
-`"closed"` -- است `null` همیشه `elem.shadowRoot`.
91
85
92
86
فقط با استفاده از مقدار(refrance) براگردانده شده از `attachShadow`(که احتمالا یک کلاس پنهان داخلی دارد) میتوانیم به DOM سایه دسترسی پیدا کنیم. اما در مورد درختهای سایه بومی مرورگر مثل `<input type="range">` که بسته(`"closed"`) هستند٬ هیچ راهی برای دسترسی به این درختهای سایه وجود ندارد.
- Shadow DOM is mentioned in many other specifications, e.g. [DOM Parsing](https://w3c.github.io/DOM-Parsing/#the-innerhtml-mixin) specifies that shadow root has `innerHTML`.
151
143
144
+
152
145
## خلاصه
153
146
154
147
سایه DOM روشی است برای ایجاد یک المان محلی برای DOM.
0 commit comments