zoukankan      html  css  js  c++  java
  • shadow Dom(shadowRoot) 访问

    示例

    gtx.shadowRoot.getElementById("translation")

    gtx为host对象

    起因

    抓去chorome谷歌翻译插架的内容。有信息的内容div id是"bubble-content"

    var contend=document.getElementById("bubble-content")

    contend是null ? ! !怎么会是null?我又没拼错。

    这不科学,然后发现这个div 外层有个#shadow-root (open)

    没见过的东西

    事不为常便有妖,问题8成就在这里

    查了相关资料后确定

    简而言之shadow-root 包裹下的对象,不在全局的dom树中,因此getElementById 等方法,获取不到包裹中的对象。

    该功能的目的就是,独立出一块渲染块,不受外层样式的影响,内层的样式也不影响外层的显示。

    访问方式为

    1得到shadow-root 外层的根node 这个node是在全局dom树中的。

    var gtx=document.getElementById("gtx-host")

    2取得gtx的shadow块

    gtx.shadowRoot

    3之后再怎么操作就随意了

    比如取shadow块中的节点。

    var truecontent=gtx.shadowRoot.getElementById("translation");

    后来想想,其实以前隐约在哪见到过这功能,但因为一真没有用,淡忘了

  • 相关阅读:
    格式布局
    hive UDAF源代码分析
    HIVE自定义函数 UDF
    HIVE函数UDAF 最大值
    牛顿法求平方根 scala
    mongoDB
    java类的加载机制
    类的加载过程
    Redis学习手册(目录)
    我与小娜(05):变换时空,重返北京
  • 原文地址:https://www.cnblogs.com/zihunqingxin/p/5040504.html
Copyright © 2011-2022 走看看