【问题标题】:Html body "onload" is not working in ChromeHtml 正文“onload”在 Chrome 中不起作用
【发布时间】:2015-05-14 05:53:13
【问题描述】:

我已经使用 servlet 和 jsp 编写了示例 Web 应用程序。根据下面的代码,动作 url 应该自动执行 根据“onload”。我在我的一个 servlet 中编写了下面的代码,下面的“onload”表单命中了实际路径 仅在 Firefox 和 IE 中,但不在 Chrome 中(41.0.2272.74 beta-m(64 位))。我已经看到链接Chrome - is not working 但我没有得到正确的想法,我在servelt 的末尾有下面的代码。在 servlet 中的这段代码之后没有什么可以执行。

 out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> \n");
    out.write("<html><body onload=\"alert('alert has been fired');document.forms[0].submit()\">\n");
    out.write("<form method=\"POST\" action=\"" + actionUrl + "\">\n");
    out.write("<input type=\"hidden\" name=\"resourcePath\" value=\"" + callbackUrl + "\"/>\n");
    out.write("<input type=\"hidden\" name=\"locale\" value=\"" + locale + "\"/>\n");
    out.write("<input type=\"hidden\" name=\"rspjRequest\" value=\"" + true + "\"/>\n");
    out.write("</form>\n</body>\n</html>\n");
    out.close();

上述action url中是否有chrome的保留关键字?

【问题讨论】:

  • Javascript 控制台中是否有任何错误?
  • 它适用于我的 Chrome 41.0.2272.89(64 位)
  • 控制台没有错误,但没有重定向到操作 url。
  • 我想为什么人们对此投了反对票。
  • 如果您更改为onload="alert('running'); document.forms[0].submit()",您会收到警报吗?

标签: javascript html google-chrome servlets


【解决方案1】:

您可以尝试该html页面的脚本标签中的功能。

  <script>
     function myfunction() {
     alert("This is the first.");
    }

    window.onload = function()
    {
     myfunction;
    }
  </script>

【讨论】:

  • 当我插入我的 servlet 代码时,此代码也不起作用
【解决方案2】:

经过一番调查,我终于找到了解决问题的方法。我忘记在 servlet 中设置响应的内容类型。

response.setContentType("text/html; charset=UTF-8");

Chrome 浏览器会使用上述代码以 html 页面的形式显示响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多