Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Polymer 本机与多填充阴影DOM_Polymer_Shadow Dom - Fatal编程技术网

Polymer 本机与多填充阴影DOM

Polymer 本机与多填充阴影DOM,polymer,shadow-dom,Polymer,Shadow Dom,我正在从事一个项目,在这个项目中,我正在使用聚合物和网络组件构建一个包含多个节点和边的图形。我使用的是我的公司内部开发的基础库,它不基于web组件。该库包含用于创建节点、初始化图形等的函数。我创建了一个名为graph的自定义元素,该元素将与库交互。以下是该元素的声明: <polymer-element name="cmp-graph" attributes="canvas" constructor="CMPGraph"> <template> <d

我正在从事一个项目,在这个项目中,我正在使用聚合物和网络组件构建一个包含多个节点和边的图形。我使用的是我的公司内部开发的基础库,它不基于web组件。该库包含用于创建节点、初始化图形等的函数。我创建了一个名为graph的自定义元素,该元素将与库交互。以下是该元素的声明:

<polymer-element name="cmp-graph" attributes="canvas" constructor="CMPGraph">

<template>  
      <div id="graph_win_placeholder">
        <div id="graph_win" class="canvas">
            <div id="graph_canvas" class="graph-area">
            </div>
        </div>            
      </div>
</template>

</polymer-element>
在元素的Javascript代码中,我调用库中的函数来初始化图形。此函数调用需要canvas div的句柄,即id=graph\u canvas的div。因此,在进行函数调用时,我将这个$.graph\u canvas作为参数传递。但是库抛出了一个异常,因为它需要一个div的本机版本,而不是一个包装版本,因为这。$.graph_canvas对应于div的包装版本

在加载应用程序时,我正在试验不同的解决方案,并将shadow=native作为查询字符串中的参数传递

但现在的问题是,我的应用程序只能在Chrome、Canary和Opera上运行,因为其他浏览器不支持ShadowDOM。还有别的办法解决这个问题吗

任何帮助都将不胜感激


谢谢

如果您的库中没有架构问题,作为最后手段,您可以 在使用前向上移动节点。 请记住检查页面上是否有Polyfill,否则下面的代码将在chrome上中断

if(typeof ShadowDOMPolyFill !== undefined)
{
    var unwrappedNode = ShadowDOMPolyFill.unwrap(node);
}

这是polymer dev上的一个问题,有一些后续问题:抛出了什么异常?没有关于您的内部库的进一步信息,这个问题无法回答。谢谢Abhinav。。我实际上也用了同样的方法。我必须在使用Polyfill时打开节点,它解决了问题