1. 程式人生 > >不同瀏覽器處理後退的一些異同

不同瀏覽器處理後退的一些異同

提醒:本文最後更新於 3782 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

以前在測試自己寫的webim時發現firefox有一個很人性化的特性:在頁面上跟別人聊天的時候如果不小心點到了本頁開啟的連結,只要點一下Firefox的後退按鈕,就會退後到之前的頁面,可以接著聊。也就是說在firefox中點選後退,原來頁面的狀態會還原,包括JS改變的DOM結構也會保持。

我們用下面的程式碼來測試一些常見的瀏覽器是怎麼處理後退的。測試的瀏覽器有IE8beta2、Firefox3.0.1、Flock1.2.4(Firefox2.0.0.16核心)、Safari3.1(window版)、Opera9.60。

<a href="http://www.baidu.com">百度</a>
<div id="a1"></div>
<script>
  window.onload = function(){
    alert("load");
    var i = 1;
    setInterval(function(){
      document.getElementById("a1").innerHTML = i++;
    },500);
  };
</script>

測試結果:IE8點後退時會觸發之前頁面的window.onload事件,計數器回到初始狀態重新計數;Opera9.6後退時不會觸發前一個頁面的window.onload事件,但定時器停止執行;其它瀏覽器後退時都不會觸發前一個頁面的window.onload事件,定時器會接著之前的狀態繼續計數。

結論:Firefox、Opera、Safari在這方面都做得比較人性化,完全的保留了頁面unload時的狀態,估計是直接從記憶體中讀取快取資料,所以後退速度相當快;其中Opera9.6會導致計數器停止,可能是個bug。IE在後退時則會回到最初狀態,之前JS改變的DOM不復存在。

如果想讓非IE瀏覽器退後時也能觸發window.onload事件呢?這篇文章提到了解決方案。其實就是在頁面是加入:

window.onunload = function(){};

經測試,此方法可行。對於其中的原理,JK給出瞭如下解釋:

FF/Safari等會努力做得很理想(完完全全的保持上次的unload時的資訊),不過,如果他認為使用者的程式碼(典型的是在onunload裡)會破壞他的理想計劃時,他就退一步,把“後退”當作“後退+reload”。

--EOF--

提醒:本文最後更新於 3782 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

相關推薦

不同瀏覽器處理後退一些異同

提醒:本文最後更新於 3782 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 以前在測試自己寫的webim時發現firefox有一個很人性化的特性:在頁面上跟別人聊天的時候如果不小心點到了本頁開啟的連結,只要點一下Firefox的後退按鈕,就會退後到之前的頁面,可以接著聊。也就是說在firef

不同瀏覽器對回車提交表單的處理辦法(轉載)

在IE和Firefox下1、<form>屬性的“action”欄位必填;2、有一個type="submit"的“input”。 在Chrome和Safari下 滿足第一條即可。(註釋1)  如果要控制提交行為的話(比如,提交前檢查必填項是否已填),可以在type=

css不同瀏覽器相容性處理

1,設定文字不可選: { -moz-user-select:none;/*火狐*/ -webkit-user-select:none;/*webkit瀏覽器*/ -ms-user-select:none;/*IE10*/ -khtml-user-selec

圖像處理一些基本概念

基本概念 相似性 度量 relation ont spa n) mil 卷積 圖像相關(Image correlation):圖像在不同相對位置上相似性程度和相關匹配程度的度量。圖像f(x,y)和g(x,Y)的相關兩幅圖像之間的相關稱為互相關;同一圖像的相關( f和g為同一

火狐瀏覽器必備的一些Hack插件

bar 屬於 http 常用 技術分享 工具包 modify switcher headers 1.HackBar 小工具包,包含一些常用的工具。(SQL injection,XSS,加密等) 點擊安裝、安裝之後大概是這個樣子 2.User Age

ios safari瀏覽器 處理javascript的註釋

safari不能用//來寫註釋,因為Safari把多行代碼放在一行。今天遇到這個奇葩的問題。要寫註釋,需要用/* ---*/本文出自 “北京看看” 博客,請務必保留此出處http://kankan.blog.51cto.com/372369/1944850ios safari瀏覽器 處理javascript的

不同瀏覽器創建 ajax XMLHTTPRequest對象的方法及兼容性問題總結

on() 設置 arr 斷開 告訴 應該 匿名 讀取 abort XMLHttpRequest 對象是AJAX功能的核心,要開發AJAX程序必須從了解XMLHttpRequest 對象開始。 了解XMLHttpRequest 對象就先從創建XMLHttpRequest 對

js識別不同瀏覽器

client useragent mod gin gen tracking turn urn oat 檢測瀏覽器。註意瀏覽器推斷順序,主要是基於userAgent做推斷。 //檢測瀏覽器 var client = function(){ var eng

normalize.css可以對css初始化,不同瀏覽器可以統一初始樣式

oot active top tin main ios 8 gre legend visible /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ /* Documen

js禁止瀏覽器頁面後退功能

ref code div rip document location log func list js禁止瀏覽器頁面後退功能: <script> $(function(){ if(window.location.href.ind

當一個CSS屬性在測試中的時候,是用不同瀏覽器的識別碼做前綴的。

link str 百度瀏覽器 one 標準 安全瀏覽器 slim 獵豹 進行 //-ms代表【ie】內核識別碼 //-moz代表火狐【firefox】 //-webkit代表谷歌【chrome】/蘋果【safari】 //-o代表歐朋【opera】 在標準還未確定時,部分瀏

H5音頻處理一些小知識

amp pac uid http album 知識 com .com .cn http://pic.cnhubei.com/space.php?uid=4614&do=album&id=1347093http://pic.cnhubei.com/space.

不同瀏覽器和浮動及定位

文檔 bfc gradient rom fix absolute stat w3c標準 pos background:lineer-gradient(to right/90deg,red,yellow) 漸變/橫向 border-radius:50% *** 圓角 box-

關於機器學習中文本處理一些常用方法

機器學習 tfidf lda word2vec前言 文本挖掘也是機器學習或者說是人工智能最需要處理的一類信息(其它的諸如語音、圖像及視頻處理等);隨著數字信息化和網絡化進程不斷深入,用戶的在線交流、發布、共享等都被以文字形式記錄下來,它們成為分析語言和理解社會的重要素材來源,對於文本的挖掘主要包括文檔分類、

CSS設置DIV背景色漸變顯示--針對不同瀏覽器,背景漸變的兼容問問題

fff 兼容 火狐 kit 瀏覽器 bsp 谷歌 safari 背景色漸變 針對不同瀏覽器,背景漸變的兼容問問題! background: -ms-linear-gradient(top, #fff, #0000ff); /* IE 10 */ backgr

瀏覽器自動化的一些體會7 selenium webdriver的一些問題

.get 下載 down flow span 完全退出 question ces byname 1. 下載圖片 這個鏈接說得最好,差不多所有可能的方法都列舉了,除了沒有提到用URLDownloadToFile,不過這和用WebClient差不多。 https://stac

人臉美白廋臉磨皮自動的化處理一些思路(機器視覺)

項目 原則 htm 功能 gpo 過程 warp 做到 細節 分享一下思路,自己也驗證過了,應該靠譜 流程 1.人臉檢測加特征點定位 2.根據特征點進行廋臉之類的操作(根據定位點可以做更多好玩的東西,類似faceu的功能也可以實現) 3.美白皮膚 4.磨皮皮膚 原則上不放代

阻止事件冒泡和默認到事件對象在不同瀏覽器中的傳遞

內部 eth default pre 興趣 class UNC div alert 今天群裏有一個同學發了一個問題,問題起因是他定義了一個drag函數,然後函數內部使用了e進行組織默認實踐,結果在360瀏覽器正常運行但是火狐卻報錯,e不存在,第一時間有點懵,組織冒泡和組織默

設計一套方案,解決不同瀏覽器的兼容問題(2)

normal github 直接下載 帶來 src 我們 比較 廠商 png 移動端開發 移動web開發,雖然瀏覽器的 內核 都是 webkit 但是不同的瀏覽器開發廠商 ,可能會為瀏覽器添加一些 特殊的 獨有樣式 為了清除不同瀏覽器帶來的顯示差異 我們有一

sklearn: TfidfVectorizer 中文處理一些使用參數

矩陣 feature model targe 詞語 -i style 相似度計算 nsf TfidfVectorizer可以把原始文本轉化為tf-idf的特征矩陣,從而為後續的文本相似度計算,主題模型,文本搜索排序等一系列應用奠定基礎。基本應用如: #coding=utf