Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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
html5模板标签:内容访问的回退_Html_Fallback_Javafx Webengine_Html5 Template - Fatal编程技术网

html5模板标签:内容访问的回退

html5模板标签:内容访问的回退,html,fallback,javafx-webengine,html5-template,Html,Fallback,Javafx Webengine,Html5 Template,我在webkit浏览器(JavaFX WebView 2.2)中使用模板标记来存储可以克隆并附加到文档主要部分的元素 但是,我无法使用templateElement.content(HTML5标准)访问其内容。相反,我使用jQuery通过选择器“#templateElement div”获取模板标记内的元素 虽然模板标记的内容未呈现,但似乎尚未完全支持该模板标记(内部脚本也会运行) 我担心的是,当模板标签受到支持时,获取其内容的方式将中断,我的页面将停止工作 无论将来的实现更改如何,获取模板内容

我在webkit浏览器(JavaFX WebView 2.2)中使用模板标记来存储可以克隆并附加到文档主要部分的元素

但是,我无法使用templateElement.content(HTML5标准)访问其内容。相反,我使用jQuery通过选择器“#templateElement div”获取模板标记内的元素

虽然模板标记的内容未呈现,但似乎尚未完全支持该模板标记(内部脚本也会运行)

我担心的是,当模板标签受到支持时,获取其内容的方式将中断,我的页面将停止工作

无论将来的实现更改如何,获取模板内容的推荐方法是什么

HTML:

编辑


我认为jQuery即使在将来也无法自动处理这个问题,因为模板“innerHTML”被故意路由到内容,因此DOM无法访问它(因此没有选择器意外地触及它)。

您可以测试
内容
功能是否存在于:

function getContents() {
  var toBeCloned;
  if ( templateElement.content )
    toBeCloned = templateElement.content.getElementsByTagName("div")[0];
  else
    toBeCloned = templateElement.querySelector("div");
  //append where needed...
}
另一种方式:

var content = templateElement.content || templateElement
var toBeCloned = content.querySelector( "div" )
//...

爱德华多,你能创造一把小提琴来重现这个问题吗?我很乐意帮忙,但我懒得从头开始:)好吧,问题还没有发生。我可以使用getContentsCurrent()获取模板中的div。但是,在JavaFX的未来版本中,当模板根据HTML5规范实现时,代码可能会中断,因为我认为模板的innerHTML只能使用template元素的content属性访问。然后,需要使用getContentsFuture()。是否可以在小提琴中降级浏览器以测试回退?Eduardo,您正在尝试解决一个尚不存在的问题。我认为最好是为问题做好准备:使给定的事物尽可能原子化,这样,如果问题在将来真的发生,你可以改变它。同时,如果可能的话,提前向时事通讯注册以了解变更的性质;)是的,我想在它发生之前解决它。在问题出现后改变并不困难,但在我太忙的时候可能会发生。对用户来说,在页面上突然出现中断是不好的,即使是几天。我想要一些现在和将来都能双向工作的代码。选择的答案让我想到了回退的一般解决方案,它们似乎比我提出问题之前想象的要简单!事实上,这是一般的应急解决方案。很高兴在这么长的时间里问问题时能学到这么多其他的东西!
function getContents() {
  var toBeCloned;
  if ( templateElement.content )
    toBeCloned = templateElement.content.getElementsByTagName("div")[0];
  else
    toBeCloned = templateElement.querySelector("div");
  //append where needed...
}
var content = templateElement.content || templateElement
var toBeCloned = content.querySelector( "div" )
//...