在我的应用程序中,用户编写了一些js代码,我将这些代码插入到脚本标记中,并将它们添加到html的head标记中。它一切正常但是当我在js函数中使用for循环时它会得到一些额外的插入脚本标记内部HTML后的字符。 用户编写的功能:
var el=element1.get();
var vectors=el.shapes;
var vectorCollection=[];
var correctVectors=[[2,3]];
var dotProducts=[];
for(var i=0;i<vectors.length;i++){
if(vectors[i].type<=5)
vectorCollection.push([vectors[i].startX,vectors[i].startY]);
}
for(var i=0;i<correctVectors.length;i++){
for(var j=0;j<vectorCollection.length;j++){
dotProducts.push(math.dot(correctVectors[i],vectorCollection[j]));
}
}
}
用户js代码为src并插入脚本标记内部HTML的插入函数:
public static void InsertScriptTag(HtmlDocument doc, string id, string src)
{
HtmlNode head = GetHead(doc);
HtmlNode element = doc.CreateElement("script");
element.SetAttributeValue("id", "autogeneratedcode");
element.SetAttributeValue("type", "text/javascript");
element.InnerHtml = src;
head.AppendChild(element);
}
我在将src代码传递给内部HTML之后进行了调试,它变成了这样: