【分享】Ajax保留浏览器历史的解决方案
话说之前写过一篇文章“【解决】AJAX前进后退按钮失效,及刷新问题的解决方案”和如下这篇文章同样的解决方案,只不过没这么详细。话不多说,请直接看下文。
在ajax请求中,不能更新地址栏,地址栏上的“前进”和“后退”按钮就失效了,带来了另外一种糟糕的用户体验。
解决方案如下:
方案一:使用window. Onhashchange 事件
如下面Html片段,点击不同的连接,在mainPanel中加载不同的页面...
话说之前写过一篇文章“【解决】AJAX前进后退按钮失效,及刷新问题的解决方案”和如下这篇文章同样的解决方案,只不过没这么详细。话不多说,请直接看下文。
在ajax请求中,不能更新地址栏,地址栏上的“前进”和“后退”按钮就失效了,带来了另外一种糟糕的用户体验。
解决方案如下:
方案一:使用window. Onhashchange 事件
如下面Html片段,点击不同的连接,在mainPanel中加载不同的页面...
写在最前面
这篇英文来自codeproject,原文A Collection of JavaScript Gotchas。我看了以后颇受启发,就把他翻译过来了,呵呵,第一次翻译这么长的技术文章,有什么错误请大家指出哦。另外,译文允许转载,但请在页面明显处标明以下信息:
英文原文:A Collection of JavaScript Gotchas
译文作者:王国峰
译文标题:Javascript中...
话说今天碰到一个怪事,以前写的流程图插件运行都是正常的,连接到外网测试数据库后怎么都运行不起来了。于是超找了半天才发现问题所在。新的数据库在返回的JSON数据中,ID加了后缀“@yjcs”(为了区别不同企业最后添加上去的)。于是JQ的ID选择器无法正常寻找解析了。
详细原因如下:
查看Jquery的源代码可以看到堆选择器的解析有这么一段:
var match = quickExpr.exec( ...
<script type="text/javascript"> google.load("jquery", "1.4.2"); </script>
今天在使用Kindeditor编辑器异步调用时发现的问题。Kindeditor使用JQ的$.getScript()方法重新载入核心文件创建编辑器。
$.getScript('__PUBLIC__/editor/kindeditor.js', function().......
由于需要多次调用到异步加载创建编辑器。打开FireBug网络面板发现,每次加载时都会重新载入JS文件,而不是直接调用浏览器...
注意了哦,别用clone()方法,clone()方法是针对文档对象的。
方法如下:
// 浅层复制(只复制顶层的非 object 元素) var newObject = jQuery.extend({}, oldObject); // 深层复制(一层一层往下复制直到最底层) var newObject = jQuery.extend(true, {}, oldObject);测试如下:
...
PS:今天碰到一个怪事,最上层元素点击事件发生后,无论是否return false,总是先触发底层的元素事件。所以用了even==this的方法解决了。这种方法在各种应变的情况下应该都不会出现问题的。
并不是所有浏览器都为了与新标准保持一致而进行了更新,而且,对于那些支持捕获的浏览器来说,通常必须明确启用才行。为了提供跨浏览器的一致性,jquery始终会在事件模型的冒泡阶段注册
当页面上发生...
可用值:
safari opera msie mozilla
例如:
if($.browser.msie){ alert("Microsoft Internet Explorer")}
if($.browser.mozilla){ alert("Mozilla Firefox")}
当然有时候我们还需要区分版本 这就要用到 jQuery.browser.version
例如:
if($...
jquery转换json对象为字符串 JSON.stringify(jsonObject)
alert(JSON.stringify(jsonObject));
话说上面这个函数在IE6、7中都无法正常使用。解决办法呢?
如下,用jquery的方法:
// JSON转换为字符串 function JSONstringify(Json){ if($.browser.msie){ ...