教你把握节制赏识器是否缓存网页状态
Question 在Firefox等赏识器中,假如你打开一个页面并举办多少操纵,譬喻在文本框举办输入,乃至点击按钮举办Ajax操纵更新页面局部,这些操纵的功效城市被缓存下来。 猛火网 www.veryhuo.com 在你点击链接分开这个页面后,假如你通事退却按钮回到这个页面,你会发明它仍出于你分开时的状态,而非页面方才加载好后的初始状态。在一些环境下,这样的缓存方法是切合我们预期的;但在其它一些环境下,我们更但愿页面规复到初始状态,可能说让页面从零开始从头加载一边。我们怎样才气让赏识器尊重我们的选择呢?Answer 假如你只是但愿页面不缓存加载后的改观,退却就规复到最初加载的状态,你只必要一个空缺的unload变乱就可以了: window.onunload = function(){}; 个中的道理是,Firefox等赏识器会实行通过“挂起(suspend)”的方法来缓存页面,使得退却可以或许规复到页面之前被挂起那一刻的状态。然而假如unload变乱有处理赏罚函数,赏识器就以为你也许已经对页面举办了析构处理赏罚,这时辰页面已经不行能回到正常的交互状态,也就不能以挂起的方法来缓存页面。 假如我们但愿应承赏识器挂起页面,同时又必要知道何时被挂起何时被规复,那该怎么办呢?我们可以用window工具上的pageshow和pagehide变乱。当页面被挂起并潜匿时,pagehide变乱会被触发;当页面被规复到挂起前状态并表现出来时,pageshow变乱会被触发。Firefox从1.5开始就支持这两个变乱,Safari最新的nightly build也支持这两个变乱。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |