我正在使用eclipse和tomcat开发.jsp
。
我的.jsp
输出html以从.js
文件中拉入一些javascript。jsp
输出将函数mapTool
连接到mousedown事件的代码。imfMapFunctions5101.js
包含mapTool(e)函数。
在火狐中运行时,我对.js文件所做的更改不会生效,但在IE中运行时会生效。
在.jsp中:
out.println("<script language=\"JavaScript\" type=\"text/javascript\" src=\"imfMapFunctions5101.js\"></script>");
....
out.println("function startup() {");
out.println(" hideLayer(\"loadMap\");");
out.println(" if (document.layers) {");
out.println(" document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);");
out.println(" }");
out.println(" document.onmousedown = mapTool;");
out.println(" **alert(document.onmousedown);**") //pops up the event code in the browser
;
.......
imfMapFunctions5101.js
中的javascript事件代码
function mapTool (e) {
**alert('mapTool'); //my alert**
if (dTools.activeTool == "Drill Down Identify") {
showLayer("loadData");
.....
当IE中弹出alert(document.onmousedown);
时,我可以看到添加了警报的事件代码:
function mapTool (e) {
**alert('mapTool'); //my alert**
if (dTools.activeTool == "Drill Down Identify") {
showLayer("loadData");
....
在firefox中,弹出的事件代码不包含我的警告:
function mapTool (e) {
if (dTools.activeTool == "Drill Down Identify") {
showLayer("loadData");
这就像是文件正在缓存,而火狐坚持获取旧的缓存的.js文件。我很确定这不是事实。我尝试过更新.jsp时间戳,将javascript重命名为一个伪造的名称,然后再重新命名。
到底怎么回事?
感谢ANy的帮助吗?
https://stackoverflow.com/questions/350220
复制相似问题