日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

網(wǎng)頁(yè)中Flash激活限制的處理方法_Flash教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:Flash Web結(jié)構(gòu)之背景層淺析
背景層,顧名思義就是Flash網(wǎng)站的背景,看上去很輕易理解也很簡(jiǎn)單,其實(shí)它蘊(yùn)涵著很多知識(shí)和技巧,假如處理不善,將直接影響Flashweb的用戶體驗(yàn)。我在這里

本文對(duì)比了國(guó)內(nèi)門(mén)戶網(wǎng)站對(duì)網(wǎng)頁(yè)中Flash激活限制的處理方法和技巧。

今年年初之時(shí),微軟發(fā)布了一個(gè)針對(duì)ActiveX控件的補(bǔ)丁,安裝此補(bǔ)丁后的IE6中,當(dāng)ActiveX控件獲得焦點(diǎn)時(shí),IE自動(dòng)為其套上一個(gè)虛線矩形邊框,并提示用戶按下回車或者空格鍵以激活控件。剛剛正式發(fā)布中文版的IE7也是同樣的處理。

最受影響的想必就是Flash控件了。當(dāng)時(shí)我認(rèn)為這對(duì)廣告滿屏飛的門(mén)戶網(wǎng)站來(lái)說(shuō)一定是個(gè)壞消息。不過(guò)微軟也沒(méi)有把事做絕,留了一條腳本方式解決的后路。

今天忽然產(chǎn)生愛(ài)好,想看看這些門(mén)戶們?nèi)绾螒?yīng)對(duì)此限制的。一番比較下來(lái),給大家匯報(bào)一下:

新浪

首先在HTML的中加載一個(gè)腳本:

< script type="text/javascript" src="http://image2.sina.com.cn/home/sinaflash.js">< /script >

通過(guò)如下腳本在HTML中寫(xiě)入Flash廣告:

< script type="text/javascript">
var objFlash = new sinaFlash("http://ad4.sina.com.cn/200611/17/73696_gundong.swf", "", "279", "56", "7", "", false,"high");
objFlash.addParam("wmode", "opaque");
objFlash.write("flashcontent_02AE4A");
< /script >
下載sinaflash.js來(lái)看,其實(shí)正是 Adobe 建議使用的SWFObject。參閱Adobe的文章 JavaScript Flash Player Detection and Embedding with SWFObject。Adobe還提供了一套另外的解決方案,并集成到Dreamweaver 中,不過(guò)似乎用的人不多。

新浪將其改頭換面,或許加入了一些自己的處理,我沒(méi)有愛(ài)好去弄清楚:)。但我想雖然人家是MIT License,但版權(quán)信息還是不要去掉為好。

搜狐

搜狐的手段和新浪如出一轍,首先加載:

< script src="http://www.sohu.com/sohuflash_1.js" type=text/javascript>< /script >
調(diào)用:

var sohuFlash2 = new sohuFlash("http://images.sohu.com/cs/button/lexus/4501051127.swf", "_bflexO", "450", "105", "7");
sohuFlash2.addParam("quality", "high");
sohuFlash2.addParam("wmode", "Opaque");
sohuFlash2.addVariable("clickthru","http://adc.go.sohu.com/200611/10083225efd048d2153be48383171872.php");
sohuFlash2.write("_turnAD9");
sohuflash_1.js 同樣改寫(xiě)自SWFObject,而且改得更面目全非。沒(méi)必要吧,同學(xué)。

你說(shuō)是搜狐抄的新浪,還是新浪抄的搜狐?

網(wǎng)易

網(wǎng)易就是不一樣,處理手段顯得很有技術(shù)性。首先加載腳本:

< script src="/DartRichMedia_1_03.js">< /script >
頁(yè)面上直接用 docuemnt.write 寫(xiě)入 Flash 的HTML代碼。

按照微軟的說(shuō)明,直接在頁(yè)面上使用docuemnt.write寫(xiě)入是不能饒開(kāi)激活限制的,Hack就是那個(gè)加載的js中。代碼如下:

if(typeof(dclk_isDartRichMediaLoaded) == "undefined") {
dclk_isDartRichMediaLoaded = true;
function dclkWrite(str){
if(dclk_shouldOverride) {
dclk_original_documentWrite(str);
}
else{
document.write(str);
}
}
function dclkWriteln(str){
if(dclk_shouldOverride) {
dclk_original_documentWriteLn(str);
}
else{
document.writeln(str);
}
}
function dclk_isInternetExplorer() {
return (navigator.appVersion.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") < 0);
}
dclk_shouldOverride = dclk_isInternetExplorer();
if(dclk_shouldOverride) {
dclk_original_documentWrite = document.write;
dclk_original_documentWriteLn = document.writeln;
document.write = dclkWrite;
document.writeln = dclkWriteln;
}
}
用這么迂回的方式覆蓋JS默認(rèn)的document.write就可以饒開(kāi)激活限制?是不是有點(diǎn)詭異?希望網(wǎng)易的工程師能給大家解讀一下。

雅虎中國(guó)

Yahoo!中國(guó)對(duì)Flash的處理中規(guī)中距,就是微軟文章中說(shuō)明的,使用一個(gè)外連的js文件,在js中用docuemnt.write 寫(xiě)入。

騰訊

默認(rèn)Flash并沒(méi)有激活! 后來(lái)者雖然氣勢(shì)逼人,但究竟還需要時(shí)間打磨:)。

稍做總結(jié)吧,新浪/搜狐使用的SWFObject實(shí)際原理是在外連的JS中用innerHTML間接導(dǎo)入Flash代碼。這和Yahoo!中國(guó)的處理方式歸根揭底都基于微軟的說(shuō)明。

使用 SWFObject 還能解決XHTML校驗(yàn)的問(wèn)題,不過(guò)我想門(mén)戶們都還不會(huì)太在意這個(gè):)。

網(wǎng)易的方式比較邪門(mén),很有駭客色彩。不過(guò)還有比它更邪門(mén)的方式:

//只要在 后面加上一行
< script src="javascript:'document.body.innerHTML =''';">< /script >
真的有效呢! (在我的IE7中無(wú)效)

分享:Flash AS教程:圖片環(huán)繞旋轉(zhuǎn)動(dòng)畫(huà)
本文介紹如何用Flash的AS代碼編寫(xiě)圖片環(huán)繞旋轉(zhuǎn)效果。新建FLASH文件,修改-》文檔,把文檔的背景色改成黑色。CTRLF8新建元件text,在元件的幀上放13個(gè)要害

來(lái)源:Ajax中國(guó)//所屬分類:Flash教程/更新時(shí)間:2008-02-26
相關(guān)Flash教程