Javascript 加入“;文字HTML“;使用数据源中的数据创建HTML小部件?

Javascript 加入“;文字HTML“;使用数据源中的数据创建HTML小部件?,javascript,html,freeboard,Javascript,Html,Freeboard,在干舷中创建HTML小部件时,将显示以下文本: 可以是文本HTML,也可以是输出HTML的javascript 我知道我可以执行以下操作来返回带有数据的HTML,但是如果我想做更复杂的事情,我更喜欢使用文本HTML 返回包含数据的html <div style='color: red'> This is red text. </div> <div style='color: blue'> This is blue text. </div>

在干舷中创建HTML小部件时,将显示以下文本:

可以是文本HTML,也可以是输出HTML的javascript

我知道我可以执行以下操作来返回带有数据的HTML,但是如果我想做更复杂的事情,我更喜欢使用文本HTML

返回包含数据的html

<div style='color: red'>
  This is red text.
</div>
<div style='color: blue'>
  This is blue text.
</div>
return“这是一个红色的时间戳:“+datasources[“DS”][“timestamp”]+”

无数据的文本html

<div style='color: red'>
  This is red text.
</div>
<div style='color: blue'>
  This is blue text.
</div>

我不知道干舷框架,但一个通用的解决方案是使用HTML5模板,如果您的浏览器支持要求允许的话

函数支持模板(){
返回document.createElement(“模板”)中的“内容”;
}
if(supportsTemplate()){
警报(“浏览器支持模板”);
}否则{
警报(“浏览器不支持模板”);
}
var template=document.querySelector(“#时间戳模板”);
var timestamp=template.content.querySelector('.timestamp');
timestamp.innerHTML=新日期().toLocaleString();
var clone=document.importNode(template.content,true);
var output=document.querySelector(“#output”);
输出.appendChild(克隆)

这是默认的红色文本。
这是蓝色文本。

以下是如何将数据源插入HTML小部件的示例:

var LVL = datasources["GL"]["Level"];
return `<div style="width: 200px; height: 200px;background:rgb(242,203,56);"></style>
<svg width=200 height=`+LVL+`><rect width=100% height=100% fill=grey></svg>
</div>`;
var LVL=datasources[“GL”][“Level”];
返回`
`;

为那些不熟悉干舷的人添加了更多上下文