Я пытаюсь сопоставить шаблон в html, и для каждого сопоставленного шаблона я заменяю его реальным инструментом, вызывая функцию Index инструмента, который имеет представление в качестве шаблонов jsrender, но, например, для шаблонов no match 4затем 3 инструмента загружаются успешно, и один из них никогда не загружается и выдает
Неизвестный шаблон Js Render error.
Я знаю, это потому, что я заменяю этот HTMLпроблема возникает, но я не могу найти обходной путь для этой проблемы.
var str = $(".Element:last").html();
var matchSyntax = str.match(/##(.+)\?(.*)##/ig);
if (matchSyntax != null) {
for (var ele = 0; ele < matchSyntax.length; ele++) {
//seperate out if there is any query parameters.
var splitSyntaxParameters = matchSyntax[ele].split(/##(.+)\?(.*)##/ig); //Split all the strings between # and = so that we get the toolname,tooltype
var callToolParam = splitSyntaxParameters[1].split(/[=#]/ig);
if (callToolParam[1] != "") {
if (callToolParam[1] == "middle") {
if (!callToolParam[3] == "") {
$(".Element:last").html(str.replace(matchSyntax[ele], "<div id='" + callToolParam[3] + "_placeholder" + "'></div>"));
TdcAsyncWebPartLoader.ShowTool({
parameters: {
profileName: splitSyntaxParameters[2]
},
toolname: callToolParam[3],
action: 'Index',
context: dataTool,
});
str = $(".Element:last").html();
}
}
if (callToolParam[1] == "right") {
if (!callToolParam[3] == "") {
$(".Element:last").html(str.replace(matchSyntax[ele], ""));
TdcAsyncWebPartLoader.ShowTool({
parameters: {
profileName: splitSyntaxParameters[2]
},
toolname: callToolParam[3],
action: 'Index',
context: dataTool
});
str = $(".Element:last").html();
}
}
if (callToolParam[1] == "right_fixed") {
if (!callToolParam[3] == "") {
$(".Element:last").html(str.replace(matchSyntax[ele], ""));
TdcAsyncWebPartLoader.ShowTool({
parameters: {
profileName: splitSyntaxParameters[2]
},
toolname: callToolParam[3],
action: 'Index',
context: dataTool
});
str = $(".Element:last").html();
}
}
}
}
Я ожидаю, что все инструменты, соответствующие шаблону, должны заменить шаблоны в html фактическими инструментами.