小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

再談IE中Flash控件的自動(dòng)激活 at Taobao.com UI Team

 昵稱18211 2007-01-22


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

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

網(wǎng)易的做法算是最技術(shù)的了,它的原理可以簡(jiǎn)單說一下(感謝在網(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)站會(huì)附上一段<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)自動(dòng)激活。頁面中的flash依然是標(biāo)準(zhǔn)的HTML。不需要通過document.write寫入。而且對(duì)于禁用 js的用戶Flash依然可以正常顯示。這應(yīng)該算是最unobtrusive的一種實(shí)現(xiàn)了。

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

原來的腳本有6k,我簡(jiǎn)化了一些邏輯,并通過條件注釋讓腳本只為IE6/7服務(wù)。讓人欣喜的是,不光是Flash,只要是<object>,ObjectWrap都會(huì)處理,這樣我們?cè)诎踩卿浱詫毣蛘咧Ц秾気斎朊艽a的時(shí)候,也可以節(jié)約一個(gè)單擊的氣力了。

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

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


10 Responses to “再談IE中Flash控件的自動(dòng)激活”

  1. 1 承志 Jan 17th, 2007 at 17:45

    噢頂啊,夠技術(shù)的!^_^

  2. 2 飛飛 Jan 17th, 2007 at 17:53

    @_@頂啊~~~?。?

  3. 3 wkcow Jan 17th, 2007 at 20:01

    另外使用,swfobject 或者UFO 來進(jìn)行的Flash搜索引擎優(yōu)化也非常好的,即便是搜索引擎不理解flash,但有替代內(nèi)容可以代替Flash的,保持兩個(gè)內(nèi)容一致,就不會(huì)被認(rèn)為是作弊

  4. 4 Cat Jan 17th, 2007 at 23:38

    看過CSS Mastery里面使用Flash Swaping的方法來實(shí)現(xiàn)標(biāo)題特殊字體的辦法,都應(yīng)該能想到用Swaping的方法來做這個(gè),不過就是Flash swap Flash罷了。現(xiàn)在終于有人做了,不錯(cuò)不錯(cuò),直接拿來用就行。

  5. 5 coocboy Jan 18th, 2007 at 17:13

    一般我從收藏夾打開taobao,鼠標(biāo)默認(rèn)位置就在這個(gè)flash上.
    一開始還是有激活框的,
    不過有一個(gè)明顯的重寫過程之后就OK了,呵呵.

  6. 6 Kejun Jan 18th, 2007 at 22:50

    利用document.write Flash代碼的方式不可取.在頁面中間引外部js文件會(huì)中斷頁面下載.objectSwap.js也不完全unobtrusive,其中window.onload=function(){…}這個(gè)得在應(yīng)用時(shí)改造一下.

  7. 7 zhua Jan 19th, 2007 at 12:02

    //lol

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

  8. 8 Dooky Jan 20th, 2007 at 22:44

    一段js已經(jīng)夠用了,不過無法保持flash的透明背景,實(shí)在郁悶

  9. 9 小甲 Jan 21st, 2007 at 0:52

    很有用:)多謝分享。

  1. 1 創(chuàng)意紀(jì) ? 轉(zhuǎn)載:再談IE中ActiveX控件的自動(dòng)激活 Pingback on Jan 17th, 2007 at 19:34


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多