【分享】所有瀏覽器可共用資料的JS外掛程式

來源:互聯網
上載者:User

  很久以前就在思考,能不能讓網站記住密碼對整個電腦的所有瀏覽器都有效。不過很快就否定了,畢竟每個瀏覽器都運行在完全獨立的環境裡,除非像QQ自動登入那樣,通過外掛程式來實現。

  不過最近遇到個問題,非得解決這不可。

  由於網站的部分使用者是通過程式內嵌瀏覽器訪問的,用過Webbrowser控制項的童鞋都知道,不管系統ie版本有多高,內嵌網頁始終用ie7的核心(除非系統只有ie6)。
  就出現大麻煩了:在內嵌網頁裡登入後,雖然之後的頁面轉跳確實還能夠識別cookie。不過當程式彈出網頁時,情況就大不一樣了。彈出來的是系統預設的瀏覽器,未必就是ie7的核心,甚至根本就不是ie瀏覽器!於是就出現使用者未登入的情況了。
  
  要解決此問題,似乎唯一的方法就是彈出url的時候,加上類似cookie的session值。就像從QQ裡點出郵箱,微博之類的,總是帶著一串眼花繚亂的亂碼,作為認證。

  
  不過,為了能簡單的解決此問題,並且不汙染那簡短的網址,決定使用個可以在系統全域儲存變數的方法。那就喚出萬能的flash來解決吧~~

  用上flash外援,一切難題都迎刃而解了~ FP很早的版本裡就有個叫SharedObject的東東,可以在整個系統,不對,是整個網路裡,共用資料!不過我們現在沒必要資料遠程共用,只做本地共用就可以了。

  SharedObject的使用非常簡單,因為沒有到期時間這玩意,所以比操作cookie還容易。這裡就不累述了~
  AS和JS兩部分的代碼都非常簡單,基本的互動而已,已封裝成GlobalCookie.js外掛程式。想體驗下所有瀏覽器共用資料的感覺:

  
  http://www.etherdream.com/FunnyScript/GlobalCookie/

  

  (不過有個詭異的是,最新版的Chrome瀏覽器突然失效了~ Maxthon的Webikit倒是沒問題。。。)

  

 

  雖然這外掛程式很簡單沒任何技術含量。不過使用這種思路,共用全域資料的模式,可以使很多Web的體驗大幅改進了。
  例如開多個瀏覽器逛論壇刷微博,很是消耗伺服器資源。通過全域的資料共用,相同的資料只需傳輸一份,到用戶端之後再相互分配協調。

  說完了全域的共用,要是能全域發送訊息,相互連知就更完美了。事實上仍是可以實現的,使用flash的LocalConnection對象即可!詳情請聽下回分解。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.