【问题标题】:Console.log and Alert not working in ChromeConsole.log 和警报在 Chrome 中不起作用
【发布时间】:2015-06-29 16:50:14
【问题描述】:

我在 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 或警报都不起作用。我试过了

删除window.log

这是作为先前询问此问题的答案而给出的,但没有任何作用。控制台正在打印日志(我点击了要检查的漏斗),我已经关闭并重新打开了 chrome。此问题的其他版本中提供的所有答案均无效。

【问题讨论】:

  • JSONProcess 函数永远不会被调用,除了服务器端脚本中的注释行,它可能不会调用客户端函数?
  • 天哪,我是个白痴。你说的对。如果您将此作为答案,则将其标记为正确

标签: javascript java html google-chrome servlets


【解决方案1】:

你必须调用函数

 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 文件中,然后只打印带有源代码的单个脚本标签。

【讨论】:

  • 感谢我有一段时间不得不使用 js
猜你喜欢
  • 2013-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 2012-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多