【发布时间】:2017-07-27 09:39:12
【问题描述】:
我尝试浏览网页“https://aeropdm.honeywell.com/aeroPDM/emxLogin.jsp”。但无法在Chrome中打开,但在IE11中可以正常运行。是不是Chrome不支持java的jsp部分技术的问题?
【问题讨论】:
-
修改了我的答案,请检查这是不是你的要求。
标签: google-chrome jsp internet-explorer
我尝试浏览网页“https://aeropdm.honeywell.com/aeroPDM/emxLogin.jsp”。但无法在Chrome中打开,但在IE11中可以正常运行。是不是Chrome不支持java的jsp部分技术的问题?
【问题讨论】:
标签: google-chrome jsp internet-explorer
浏览器与服务器端语言无关,因此与java/jsp无关。浏览器以html的形式呈现服务器提供的前端内容。
查看您页面的源代码后,我发现了问题。
在您的 html 代码中,您隐藏了您的部门-
<div style="visibility:hidden" id="divLogin">
一旦页面加载完毕,您就可以通过调用 handleOnLoad() 函数来启用它
<body bgColor=#ffffff
background="/aeroPDM/common/images/utilSpacer.gif"
onload="handleOnLoad()">
现在这个函数 handleOnLoad() 正在设置内容可见。
如果你看到 handleOnLoad(),我猜它设置的内容对 IE、Moz 和 Netscape 可见,但对其他浏览器不可见
function handleOnLoad() {
//display the login form (only happens if JavaScript is enabled)
if (isNS4) {
setTimeout("void(0)",10);
document.layers['layerLogin'].visibility = "show";
} else if (isIE) {
document.all['divLogin'].style.visibility = "visible";
} else if (isMoz) {
document.getElementById('divLogin').style.visibility = "visible";
}
所以为了让它在其他浏览器中可见,你可以简单地为最后的所有 chrome 添加 1 行。
else
document.getElementById('divLogin').style.visibility = "visible";
所以简而言之,您只需要替换您的 handleOnLoad() javascript 函数 有了这个 -
function handleOnLoad() {
//display the login form (only happens if JavaScript is enabled)
if (isNS4) {
setTimeout("void(0)",10);
document.layers['layerLogin'].visibility = "show";
} else if (isIE) {
document.all['divLogin'].style.visibility = "visible";
} else if (isMoz) {
document.getElementById('divLogin').style.visibility = "visible";
else
document.getElementById('divLogin').style.visibility = "visible";
}
最后一个 else 将为除 NS、IE 和 Mozilla 之外的所有浏览器执行,因此如果您希望它仅适用于 chrome,请在 else 附加一些条件并使其成为 else if。
希望这能解决您的问题。
【讨论】: