在閱讀完這個wiki page之後,在Polymer Dart 1.0.0上,並且閱讀了當前聚合物飛鏢默認使用陰影dom的事實(並非這對我來說是一個驚喜),並且您可以將其更改爲使用陰影dom。如果使用了影子dom,我的一些最新元素將無法工作。我想知道如何在運行時檢測是否使用陰影或陰影dom?如何檢測Polymer是否在Polymer Dart 1.0.0中使用Shady或Shadow DOM?
3
A
回答
2
我似乎已經回答了我自己的問題。我忘了shadowRoot。在從舊版Polymer Dart遷移到Polymer Dart 1.0.0時,我不得不刪除對shadowRoot的任何引用,因爲它們爲空。如果shadowRoot爲null,那麼您使用的是陰影DOM,否則是陰影DOM。這個方法可以在元素內部工作。
...
bool usesShadowDOM() {
return shadowRoot != null;
}
...
我測試了,既
<script>
...
Polymer.dom = 'shadow';
...
</script>
和
<script>
...
Polymer.dom = 'shady';
...
</script>
,似乎這樣做,我也想工作。
3
我不知道官方的方式,但可以使用document.querySelector('some-shadowed-element')
來查詢已知隱藏在自定義元素的陰影DOM中的元素,以及是否發現使用了陰影DOM,否則就是陰影DOM。
您不應該在應用程序中區分陰影和陰影DOM。如果您使用適當的API來操作您的內容(new PolymerDom(...)...
),那麼您的元素應該可以在兩種模式下工作。
5
有一個沒有記錄布爾標誌設置好的上Polymer
對象:
Polymer.Settings.useNativeShadow
它被設置爲useShadow && nativeShadow
,所以它是true
如果兩個,你要求的影子DOM和瀏覽器支持它。
相關問題
- 1. 如何在shadow DOM中調用Dart Polymer元素的方法?
- 2. Polymer-Dart 1.0 DOM - 如果不工作
- 3. 如何測試Polymer dom屬性?
- 4. 如何在dart .polymer 1項目中使用子目錄?
- 5. 如何在Polymer 2中使用intro.js?
- 6. 如何使用polymer-2x
- 7. 是否在Polymer 1.0中使用了內容元素?
- 8. 如何使用具有不同文件結構的Dart Polymer?
- 9. Progamatically create Polymer elements
- 10. Polymer,Dart,Chrome App,CSP和調試
- 11. 如何在Polymer Google Charts中使用google.visualization.DataTable()
- 12. 如何檢查類mixin是否已應用於Polymer元素?
- 13. 是否可以在Polymer 2應用程序中使用vaadin-grid?
- 14. 你如何映射一個數組使用Polymer的dom-repeat
- 15. 是否可以在Dartlang中使用Polymer應用程序的延遲加載?
- 16. dart-polymer:使用核心元素無法加載資源
- 17. polymer 1.3 dom-repeat兩個數組
- 18. 使用window.Polymer聚合物優化= {dom:'shadow'}
- 19. 在Polymer Google Web Components中使用DateTime
- 20. Aurelia-Polymer使用CLI工具
- 21. 如何在Polymer Web Components中執行A/B測試?
- 22. Polymer,Deepstream.IO和RabbitMQ
- 23. 如何在Polymer中設置flex-shrink:0
- 24. 如何中止芯的Ajax在Polymer
- 25. connectedCallback()休息Polymer 2.x Plunk
- 26. 是否可以擴展Polymer元素並重用其風格?
- 27. 如何使用Polymer中的內容元素?
- 28. polymer.json文件如何在Polymer應用程序中使用?
- 29. Polymer的陰影DOM與陰影DOM有什麼區別?
- 30. polymer init bash:polymer:command not found
是的,這是另一個角度,我不得不看看做。感謝那。 –