天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

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

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

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

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

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

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

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

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

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

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

JavaScript技術(shù)再談IE中Flash控件的自動激活 ObjectWrap,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线国产a不卡 | 午夜精品久久久久久影视riav | 免费在线视频a | 97人妻精品全国免费视频 | 99精品在线观看 | 国产乱码免费卡1卡二卡3卡四卡 | 欧美日韩一级黄色片 | 国产免国产免费 | 再插深点嗯好大好爽 | 偷偷鲁青春草原视频 | 国产在线成人一区二区三区 | 2020最新无码国产在线视频 | 久久久久毛片免费观看 | ankha成人| 国产午夜永久福利视频在线观看 | 午夜向日葵高清在线观看 | 校花被扒衣吸乳羞羞漫画 | 在线观看免费视频a | 久久高清一本无码 | 色婷婷欧美在线播放内射 | 13一18TV处流血TV | 精品精品国产自在现拍 | 好大好爽好深舒服死了 | 4399日本电影完整版在线观看免费 | 与子敌伦刺激对白亂輪亂性 | 国产69精品久久久久乱码韩国 | 亚洲欧洲无码AV在线观看你懂的 | 成人精品视频99在线观看免费 | 精品午夜久久影视 | 千禧金瓶梅 快播 | 亚洲免费在线播放 | 国产午夜伦伦伦午夜伦 | 久久黄色免费网站 | 最新无码国产在线视频 | 亚洲狠狠97婷婷综合久久久久 | 巨大乳hdbbw| 天天躁躁水汪汪人碰人 | 国产精品综合AV一区二区国产馆 | 国产叼嘿久久精品久久 | 久久亚洲人成网站 | 国产精品久久久久久人妻精品流 |