浏览器保存了我的JavaScript函数名称并错误了我的网站
the browser saved my javascript function name and buged my site
大家好,今天我花了半天时间试图弄清楚为什么我的网站发疯了,我最终设法弄清楚了,现在我想知道我能做些什么来防止将来发生这种情况。这是发生的事情:我有一个简单的JS文件
function standardAlert( )
{
grid1.save()
window.alert( "The information has been saved!" )
}
现在今天我一直在网站上做一些更改,我还添加了另一个具有不同名称的功能,该函数显示不同的窗口。
从那一刻起,每次我单击保存按钮时,我的错误日志上都有此错误:
"无效的回发或回调参数。在配置中使用或<%@ 页面启用事件验证="true" %> 在页面中启用事件验证..."
我一直疯了..检查旧备份来回更改我今天所做的更改。 最终几分钟前,我终于发现了问题所在。浏览器保存了旧的函数名称,每次我单击保存按钮时,该按钮都有一个与旧函数名称关联的onclientclick事件,我都会收到此错误。当然,我也更新了JS文件的不同版本,但这对浏览器来说无关紧要!
所以我的问题是我将来如何防止这样的事情发生?附言我也有这个图片没有显示,因为浏览器使用了他本地存储中的旧 1。
忘了说我通过清除我的眉毛缓存解决了这个问题! 但是将来当 PPL 使用该站点时会发生什么,也许我将不得不再次更改 JS 函数名称? 或者也许是一张照片?我不想对 ppl 说他们需要清除缓存作为解决方案。我确信我缺少一些东西,我只是对此还很陌生。
我正在使用MS sql服务器2000
当您更改服务器上的文件时,您需要服务器在客户端(浏览器)请求时将此文件的新版本发送给客户端(浏览器)。
这可以通过多种方式实现 - 在大多数情况下,最好的方式是设置服务器来处理更改的文件(即比较时间戳并决定何时适合发送文件的新版本,而不是告诉客户端他们拥有最新版本)。但这确实取决于您的服务器环境(您在问题中尚未描述)。
但是,通常有一种方法可以通过仅在客户端更改内容来实现此目的。请求文件时,以服务器将忽略的方式向其附加唯一字符串。这样,客户端就不可能认为它已经拥有它所请求的文件的最新版本。因此,例如,而不是获得:
http://example.com/myfile.js
你会得到
http://example.com/myfile.js?_t=1234567
例如,末尾的数字可以是 Date.now() 转换为字符串。
但是,这将有效地停止myfile.js的任何缓存,并会影响您的带宽使用。因此,如果可能的话,将其修复在服务器上 - 如何做到这一点取决于您使用的服务器。
- 闭包编译器--调试解决了我的错误
- 有人能发现我的错误吗(自动完成文本框)
- Java脚本,需要帮助查找我的错误
- 从引导框架发送电子邮件 我的错误是我收到一条消息是邮件已成功发送,但我没有收到任何邮件
- 为什么我的猫头鹰旋转木马在我的第一组中不起作用?请问我的错误在哪里
- 显示/隐藏马尔坎 有人指出我的错误
- 我的错误处理程序如何优先于早期的中间件
- Javascript:奇数或偶数脚本找不到我的错误
- 我打开新窗口的代码没有效果.有人能认出我的错误吗
- 什么'这是我的错误代码
- Javascript-我可以'我没有发现我的错误.(单选按钮)
- 从属YII输入框?我的错误在哪里?如何在dropDownList中添加Onchange事件?而无需使用控制器
- 可以't删除事件侦听器,不理解我的错误
- 为什么我的错误消息不起作用
- IE兼容模式阻止我得到我的错误信息
- 为什么node.js不能捕捉到我的错误?
- 不能找到我的错误在我的HTML代码,为javascript测验
- 哪里是我的错误使用JavaScript和jQuery
- 我的错误在哪里?未捕获的SyntaxError: missing)参数列表后
- AngularJS -当触发器变量在作用域中改变时,我的错误消息不会更新