在最新的jquery 1.9下运行时,我得到了即兴ver 4.1的错误
未捕获的TypeError:无法读取未定义的属性"msie"
以前版本的jquery不是这种情况.
即兴的违规行是第20行:
var ie6 = ($.browser.msie && $.browser.version < 7);
Run Code Online (Sandbox Code Playgroud)
JFK*_*JFK 24
您可以修改Impromptu替换此行:
var ie6 = ($.browser.msie && $.browser.version < 7);
Run Code Online (Sandbox Code Playgroud)
......这一个:
var ie6 = ( navigator.userAgent.match(/msie/i) && navigator.userAgent.match(/6/) );
Run Code Online (Sandbox Code Playgroud)
...所以现在它可以使用jQuery v1.9.0 +.或者,您可以回滚到jQuery v1.8.3
编辑(2013年3月12日)
感谢@johntrepreneur的意见,你是对的.两个笔记:
这个编辑的行:
var ie6 = ( navigator.userAgent.match(/msie/i) && navigator.userAgent.match(/6/) );
Run Code Online (Sandbox Code Playgroud)
......应该被这个替换:
var ie6 = ( navigator.userAgent.match(/msie [6]/i) );
Run Code Online (Sandbox Code Playgroud)
......我的坏,我赶紧写补丁.这应该够了吧.
Impromptu在他们的最后一次提交中完全删除了IE6支持(在原始帖子之后的2013年3月25日).OP提出的问题是Impromptu确实打破了jQuery v1.9 + ... 将Impromptu js文件更新到最后一个版本也解决了这个问题.
我更喜欢这个定位范围,只在<IE9&jQuery 1.9+上运行代码
if (/msie [1-8]./.test(navigator.userAgent.toLowerCase()))
{
//code here
}
Run Code Online (Sandbox Code Playgroud)