欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

再談IE中Flash控件的自動激活 ObjectWrap

 更新時(shí)間:2007年03月09日 00:00:00   作者:  

我在Ajax中國上曾經(jīng)對比過國內(nèi)門戶網(wǎng)站對Flash激活限制的處理。除了qq.com,各大門戶網(wǎng)站上的flash都已經(jīng)解決了激活限制的問題。淘寶的頁面上也常常會使用到Flash,激活限制導(dǎo)致用戶的交互性體驗(yàn)感受不夠友善。

我們一直想解決此問題。但是國內(nèi)門戶網(wǎng)站的做法都略為麻煩,要么需要為每個(gè)flash編寫額外的js,要么就是在頁面上放置flash的位置打上一塊<script>補(bǔ)丁,利用SWFObject或者UFO提供的腳本寫入flash。

網(wǎng)易的做法算是最技術(shù)的了,它的原理可以簡單說一下(感謝在網(wǎng)易工作的朋友的闡析):通過外部引入的js代碼覆蓋主頁面的document.write方法,這樣在主頁面上利用document.write方法時(shí)其實(shí)是外部文件的函數(shù)來寫入的,實(shí)現(xiàn)了active控件下載和主頁面分離。這樣也就避開了激活限制。

可是,以上的所有解決方法,F(xiàn)lash都是通過腳本來寫入的。比較注重web標(biāo)準(zhǔn)的網(wǎng)站會附上一段<noscript >來彌補(bǔ)禁用JavaScript的用戶。但大多數(shù)是置之不理。

一番google(我真的是用了yahoo,不過沒找到什么),在SitePoint上發(fā)現(xiàn)了一份很有價(jià)值的文獻(xiàn)ObjectSwap: Bypassing the ActiveX Activation Issue in IE,如獲至寶。

ObjectSwap提供的實(shí)現(xiàn)只需要在<head>中引入一個(gè)腳本。雖然也是使用腳本,但其邏輯是在頁面加載完成后,重寫一次<object>標(biāo)簽來實(shí)現(xiàn)自動激活。頁面中的flash依然是標(biāo)準(zhǔn)的HTML。不需要通過document.write寫入。而且對于禁用js的用戶Flash依然可以正常顯示。這應(yīng)該算是最unobtrusive的一種實(shí)現(xiàn)了。

最新的ObjectWrap 可以從這里下載。

原來的腳本有6k,我簡化了一些邏輯,并通過條件注釋讓腳本只為IE6/7服務(wù)。讓人欣喜的是,不光是Flash,只要是<object>,ObjectWrap都會處理,這樣我們在安全登錄淘寶或者支付寶輸入密碼的時(shí)候,也可以節(jié)約一個(gè)單擊的氣力了。

至于為什么重寫<object>可以解決激活限制,就不要深究了,正如IE那一系列讓人抓狂的CSS hack。我們只能逼自己記住它,傻瓜才會去弄清楚為什么。

最后向ObjectWrap的作者 Karina Steffens 致敬!

相關(guān)文章

  • JavaScript設(shè)計(jì)模式組合設(shè)計(jì)模式案例

    JavaScript設(shè)計(jì)模式組合設(shè)計(jì)模式案例

    這篇文章主要介紹了JavaScript設(shè)計(jì)模式組合設(shè)計(jì)模式案例,組合設(shè)計(jì)模式是用于將多個(gè)部分通過組合的方式行成一個(gè)整體,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-06-06
  • JavaScript的防抖和節(jié)流一起來了解下

    JavaScript的防抖和節(jié)流一起來了解下

    這篇文章主要為大家詳細(xì)介紹了JavaScript的防抖和節(jié)流,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • jsonp跨域獲取數(shù)據(jù)的基礎(chǔ)教程

    jsonp跨域獲取數(shù)據(jù)的基礎(chǔ)教程

    這篇文章主要給大家介紹了關(guān)于jsonp跨域獲取數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • 前端終止請求的3種方式總結(jié)(ajax、axios)

    前端終止請求的3種方式總結(jié)(ajax、axios)

    這篇文章主要給大家總結(jié)介紹了關(guān)于前端終止請求的3種方式,其中包括ajax、axios的相關(guān)資料, 取消請求在前端有時(shí)候會用到,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • OpenLayers3實(shí)現(xiàn)地圖顯示功能

    OpenLayers3實(shí)現(xiàn)地圖顯示功能

    這篇文章主要為大家詳細(xì)介紹了OpenLayers3實(shí)現(xiàn)地圖顯示功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • javascript iframe跨域詳解

    javascript iframe跨域詳解

    這篇文章主要介紹了javascript iframe跨域詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • js閉包用法實(shí)例詳解

    js閉包用法實(shí)例詳解

    這篇文章主要介紹了js閉包用法,結(jié)合實(shí)例形式分析了JS閉包的概念、功能及相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • JavaScript深度復(fù)制(deep clone)的實(shí)現(xiàn)方法

    JavaScript深度復(fù)制(deep clone)的實(shí)現(xiàn)方法

    本文給大家介紹JavaScript深度復(fù)制(deep clone)的實(shí)現(xiàn)方法,涉及到j(luò)s深度復(fù)制相關(guān)知識,本文介紹的非常詳細(xì),特此分享腳本之家平臺供大家參考
    2016-02-02
  • JavaScript入門教程之引用類型

    JavaScript入門教程之引用類型

    引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)據(jù)和功能組織在一起。這篇文章主要介紹了JavaScript入門教程之引用類型的相關(guān)資料,需要的朋友一起學(xué)習(xí)吧
    2016-05-05
  • JavaScript SHA1加密算法實(shí)現(xiàn)詳細(xì)代碼

    JavaScript SHA1加密算法實(shí)現(xiàn)詳細(xì)代碼

    這篇文章主要為大家詳細(xì)介紹了JavaScript SHA1加密算法實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的朋友可以參考一下
    2016-10-10

最新評論