久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

HTML中FLASH的”交互”方式

 悟靜 2014-06-24
正是有了瀏覽器這個大舞臺,,才使得FLASH能夠在互聯網上大放光彩,,而在她友好而靈活的互動性背后實際上是程序的交互,,這就帶來了一個不容忽視的問題--交互對象是誰,?
如果拋離瀏覽器的平臺,只是在FlashPlayer里播放我們的SWF文件,,那么我們可以很自然地處理各個實例間的交互,,但如果是在瀏覽器中運行我們的SWF文件了?我們能否將交互的范圍擴大,,讓HTML頁面的中元素來控制我們FLASH內部的交互了,?答案是肯定的。
  • FlashVars
  • 參數傳遞符
  • JavaScript
以上三種方式都可以實現HTML中的元素來”控制”FLASH的播放,,下面我們來以一個簡單的例子做個試驗:
目的:HTML控制FLASH中動態(tài)文本的顯示(PS:太簡單哦,先打好基礎嘛)
一,、FlashVars的實現方式
1,、FLASH文件的制作:
建立main.fla文件;
在場景里放入一個動態(tài)文本,,實例名_txt,;
加入代碼: _txt.text = arg;
發(fā)布文件(這里看到的是undefined ,因為我們還沒有賦值)
2,、打開main.html文件
<object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″ codebase=”http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#v
ersion=8,0,0,0″ width=”550″ height=”400″ id=”main” align=”middle”>
<param name=”allowScriptAccess” value=”sameDomain” />
<param name=”movie” value=”main.swf” />
<param name=”FlashVars” value=”arg=Internet Explorer” />
<param name=”quality” value=”high” />
<param name=”bgcolor” value=”#ffffff” />
<embed src=”main.swf”   quality=”high” bgcolor=”#ffffff” width=”550″ height=”400″ name=”main” align=”middle” allowScriptAccess=”sameDomain” type=”application/x-shockwave-flash” pluginspage=”http://www.macromedia.com/go/getflashplayer”/>
</object>
在object中加入粗體的那行代碼,,然后打開main.html,,文本框已經獲取到了我們的賦值Internet Explorer
我們能否傳遞多個參數,?能!
方法一:將我們要傳遞的參數用間隔符號隔開,,然后FLASH接收字符串拆分
(這是我們最容易想到的方法)
方法二:聯想到FLASH與文本的通信我們可以嘗試也是用&符號來間隔變量,,通過試驗是可行的。
1.<param name=”FlashVars” value=”arg=Internet Explorer&arg2=hello” />
1.AS 改寫為 _txt.text = arg+”:”+arg2;
測試:我們接收到了兩個變量,,成功,!
實際意義:與服務器語言結合,能夠動態(tài)改變flashvars的value,,使FLASH做出不相應的響應,;相比一些通過URL傳遞參數的方法,這個傳遞的參數個數和長度不受URL地址長度的限制,。
瀏覽器兼容:
在IE中測試通過,,在FireFox中再做測試,發(fā)現FLASH無法獲取到我們的參數,,這是因為FF與IE接收FlashVars的格式不同:
對mian.html稍作修改:
去掉我們添加的那行粗體代碼,;
更改:
<embed src=”main.swf”   quality=”high” flashvars=”arg=Internet Explorer&arg2=hello”bgcolor=”#ffffff” width=”550″ height=”400″ name=”main” align=”middle” allowScriptAccess=”sameDomain” type=”application/x-shockwave-flash” pluginspage=”http://www.macromedia.com/go/getflashplayer” />
FF中測試通過,因此為了兼容瀏覽器,,我們最好是兩處都做修改,。
二、參數傳遞符的實現方式
在URL請求中我們通常使用 “?”來傳遞參數,,使用”&”來傳遞多個參數,,如果用瀏覽器方式打開SWF文件,然后使用URL傳遞參數那么SWF能夠接收到參數嗎,?可以做個簡單的測試,,答案是可以的。但如果把這個SWF嵌入到HTML頁中了,?SWF就無法直接接收URL里傳遞的參數,,因此這里需要另外一種做法。
依然使用上面的例子,,我們在HTML頁中插入SWF文件,,然后更改:
<param name=”movie” value=”mian.swf?arg=IE&arg2=FF” />
測試HTML頁面,,成功接收兩個參數。
瀏覽器兼容:
為了在FF中兼容,,需要修改embed標簽
<embed src=”mian.swf?arg=IE&arg2=FF” quality=”high” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” width=”300″ height=”400″>
如果要IE FF都兼容,,同樣需要兩個地方都做更改-_-!
三、JavaScript的實現方式
JS的強大功能讓我們能夠自由操作HTML頁面中的各種元素,,FLASH也不例外,,JS提供了一些方法來直接操作頁面中的FLASH元素
Flash Player的Javascript方法一覽表:
Play() —————————————- 播放動畫
StopPlay()————————————停止動畫
IsPlaying()———————————– 動畫是否正在播放
GotoFrame(frame_number)—————- 跳轉到某幀
TotalFrames()——————————- 獲取動畫總幀數
CurrentFrame()——————————回傳當前動畫所在幀數-1
Rewind()————————————-使動畫返回第一幀
SetZoomRect(left,top,right,buttom)——-放大指定區(qū)域
Zoom(percent)——————————改變動畫大小
Pan(x_position,y_position,unit)————使動畫在x,y方向上平移
PercentLoaded()—————————-返回動畫被載入的百分比
LoadMovie(level_number,path)———– 加載動畫
TGotoFrame(movie_clip,frame_number)- movie_clip跳轉到指定幀數
TGotoLabel(movie_clip,label_name)—— movie_clip跳轉到指定標簽
TCurrentFrame(movie_clip)————— 回傳movie_clip當前幀-1
TCurrentLabel(movie_clip)—————–回傳movie_clip當前標簽
TPlay(movie_clip)—————————播放movie_clip
TStopPlay(movie_clip)———————-停止movie_clip的播放
GetVariable(variable_name)—————–獲取變量
SetVariable(variable_name,value)———–變量賦值
TCallFrame(movie_clip,frame_number)—call指定幀上的action
TCallLabel(movie_clip,label)—————-call指定標簽上的action
TGetProperty(movie_clip,property)——–獲取movie_clip的指定屬性
TSetProperty(movie_clip,property,number)-設置movie_clip的指定屬性
延用上面的例子 我們來試驗SetVariable(variable_name,value)–變量賦值 這個方法:
1、設置插入的FLASH的object中id屬性為”main”
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″ codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#v
ersion=7,0,19,0″ width=”400″ height=”180″ id=”main”>
2,、自定義JS方法
function sendVar(args){
window.document.mian.SetVariable(”myVar.text”, args);
}
上面這段粗體代碼即可訪問到該頁面中id為main的FLASH
3,、在HTML頁面中加入一個文本框表單,在焦點失去時調用上面的JS方法,,將文本框中的數值在FLASH中傳送
<input name=”" type=”text” onblur=”sendVar(this.value);”/>
4,、測試IE瀏覽器通過
FF瀏覽器兼容
在FF中如果我們把FLASH的id寫在了object中JS通信失敗,解決方法是把id寫如到embed中,,而且object中不允許出現id的標簽-_-!,,所以要同時兼容IE FF似乎不可能實現,哪位有實現方式歡迎交流

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內容中的聯系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多