我在 google chrome 中使用 servlet 工作,我有以下代码:
public void process(String input, PrintWriter out)
{
System.out.println(input.indexOf("\\\\"));
String Json[]= input.split("\\\\");
for(int x =0; x< Json.length;x++)
{
System.out.println(Json.length);
//JSONProcess(json[x]);
out.println("<p class=\"json\" style =\"display:none\"> ");
out.println(Json[x]);
out.println("</p>");
}
out.println("<script>"+
"var JSONProcess= function(){\n" +
"var JsonInfo = document.getElementByClassName(\"json\");\n" +
"var canvasEl = document.getElementById(\"c\");\n" +
"var nodesData =[];\n"+
"window.alert(\"This is a test\");\n" +
"console.log(JsonInfo.length);\n"+
"for(var i = 0;i<JsonInfo.length; i++)\n" +
"{\n" +
"var Json = JsonInfo[x].innerHTML;\n" +
"if(Json.source == null)\n" +
"{\n" +
"nodesData.push([Json.x, Json.y, Json.r, Json.id]);\n" +
"}\n" +
"}\n" +
"for(var i=0; i<nodesData.length; i++)\n" +
"{\n" +
" var data = nodesData[i];\n" +
" console.log(data[1]);\n" +
" console.log(data[2]);\n" +
" console.log(data[3]);\n" +
"}\n" +
"}</script>");
}
虽然脚本标记没有抛出错误,但 console.log 或警报都不起作用。我试过了
delete window.log
这是对这个问题之前提出的问题的回答,但没有任何作用。控制台正在打印日志(我单击了漏斗来检查),并且我已关闭并重新打开 chrome。该问题其他版本中提供的所有答案均无效。
最佳答案
您必须调用该函数
out.println("<script>"+
"var JSONProcess= function(){\n" +
"var JsonInfo = document.getElementByClassName(\"json\");\n" +
"var canvasEl = document.getElementById(\"c\");\n" +
"var nodesData =[];\n"+
"window.alert(\"This is a test\");\n" +
"console.log(JsonInfo.length);\n"+
"for(var i = 0;i<JsonInfo.length; i++)\n" +
"{\n" +
"var Json = JsonInfo[x].innerHTML;\n" +
"if(Json.source == null)\n" +
"{\n" +
"nodesData.push([Json.x, Json.y, Json.r, Json.id]);\n" +
"}\n" +
"}\n" +
"for(var i=0; i<nodesData.length; i++)\n" +
"{\n" +
" var data = nodesData[i];\n" +
" console.log(data[1]);\n" +
" console.log(data[2]);\n" +
" console.log(data[3]);\n" +
"}\n" +
"}" +
"JSONProcess()" + // here
"</script>");
请注意,像这样打印 javascript 不是一个好的做法,最好将 javascript 放入 .js 文件中,然后只打印带有源的单个脚本标记。
关于javascript - Console.log 和 Alert 在 Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31121235/