5
|
Frank Schmitt · 技术社区 · 14 年前 |
1
118
伙计们,我发现JQuery只有一个效果:当按下back按钮时页面被重新加载。这与“我的孩子” 准备好的 这是怎么回事?JQuery添加了一个 onunload公司 事件侦听器。
默认情况下,它什么也不做。但不知何故,这似乎触发了Safari、Opera和Mozilla中的重新加载——不管事件处理程序包含什么。 [ 编辑(Nickolay) webkit.org developer.mozilla.org . 请阅读这些文章(或我的总结在下面的一个单独的答案),并考虑你是否 真正地 需要这样做,并使您的页面加载速度慢,为您的用户。] 真不敢相信?试试这个:
使用JQuery时,您将看到类似的结果。 你可能想和这个比较一下 onunload公司
|
2
74
这个
这也是为什么添加“unload”处理程序会阻止页面存储在bfcache中(从而使返回到的速度变慢)--unload处理程序可能会执行清理任务,这可能会使页面处于无法工作的状态。 对于需要知道何时离开/返回的页面,Firefox 1.5+和带有修复程序的Safari版本 bug 28758 称为“pageshow”和“pagesupport”的特殊事件。 参考文献: |
3
31
我遇到了一个问题,当用户单击后退或前进时,我的js没有执行。我首先开始阻止浏览器缓存,但这似乎不是问题所在。我的javascript设置为在加载所有库等之后执行。已检查这些事件的readystatei更改。
经过一些测试,我发现在点击back的页面中,元素的readyState不是“loaded”,而是“complete”。添加
我只是想和大家分享我的发现,希望他们能帮助别人。 为完整性编辑 我的代码如下:
|
4
22
好的,这是一个基于ckramer的初始解决方案和palehorse的示例的最终解决方案,它适用于所有浏览器,包括Opera。如果你设置历史记录.导航模式为了“兼容”,jQuery的ready函数将在Opera和其他主流浏览器中启动Back按钮操作。 例子:
|
5
6
我无法让上面的例子起作用。我只是想在通过back按钮返回页面时触发某些修改的div区域的刷新。我使用的技巧是,一旦div区域与原来的不同,就将一个隐藏的输入字段(称为“脏位”)设置为1。当我单击back时,隐藏的输入字段实际上保留了它的值,所以onload可以检查这个位。如果设置了,我会刷新页面(或者只是刷新div)。但是,在原始加载时,位没有设置,所以我不会浪费时间加载页面两次。
只要我点击后退按钮,它就会正常触发。 |
6
4
如果我没记错的话,那么添加unload()事件意味着页面不能被缓存(在前向/后向缓存中)-因为当用户离开时,它的状态会改变/可能会改变。所以-通过浏览历史对象返回页面时,还原页面的最后一秒状态是不安全的。 |
7
4
我想这应该是“onunload”,而不是页面加载,因为我们不是在谈论在点击“Back”时触发事件吗?$文件准备就绪()适用于页面加载时所需的事件,无论您如何到达该页面(即重定向、直接打开浏览器至URL等),而不是单击“上一步”时,除非您正在讨论再次加载前一页时在上一页上激发的内容。我不确定页面是否被缓存,因为我发现Javascripts仍然被缓存,即使$文件准备就绪()包含在其中。我们不得不在编辑脚本时按Ctrl+F5,每当我们修改脚本时就会出现此事件,我们希望在页面中测试结果。
是在点击“Back”并卸载当前页面时onunload事件所需的,并且在用户关闭浏览器窗口时也会触发。这听起来更像是人们所期望的,即使我的人数比他们多$文件准备就绪()回应。基本上,区别在于当前页面关闭时触发的事件和加载时单击“后退”时加载的事件。在IE7测试很好,不能为其他浏览器说话,因为他们不允许我们在那里。但这可能是另一种选择。 |
8
4
我可以确认ckramer jQuery的ready事件在IE和FireFox中工作。下面是一个示例:
|
9
4
|
11
2
|
12
2
我用$(document)尝试了Bill的解决方案。准备好了。。。但一开始并不奏效。我发现如果将脚本放在html部分之后,它将无法工作。如果它是头部分,它将工作,但只有在IE。脚本不工作,在Firefox。 |
13
1
我在Firefox 1.3和7.3中试过了
不
|
14
1
卸载事件在IE9上无法正常工作。我用loadevent(onload())试过了,效果很好 工业工程9 FF5型 .
|
15
0
我用了一个html模板。在此模板的自定义.js文件中,有这样一个函数:
所以,我尝试了这个方法,效果很好:
现在,我有2个“就绪”功能,但它不给任何错误和页面工作得很好。
注意:jquery版本是3.3.1,migrate版本是3.0.0 |
Newbie_Coder · 如何使用Jquery无画布裁剪框架 1 年前 |
NovoMannen · 导航中的下拉菜单在内容后面重叠 1 年前 |
Community wiki · 无法从jquery文档调用函数 1 年前 |