熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

怎樣去掉flash激活提示

2013-11-15 11:36:25  來源: JSP教程 

  微軟更新了IE浏覽器針對IE的更新使ActiveX內容不能自載入的問題引起了許多人的關注.這些改變可以在Adobe的某些軟件中看到包括flashplayerAuthorware player shockwave Player SVG ViewerHelp Center 和 Adobe Reader當然還有 Sun Java Apple QuickTime RealNetworksRealPlayer和其它的ActiveX 通過某些方法嵌入到html頁面中的交互內容可能不能響應用戶的輸入(例如鍵盤鼠標)直到用戶點擊要麼激活要麼繼續loading 下面我的看看它到底是怎麼一回事並怎樣解決它來使用戶最大限度的方便浏覽因為webstudio 的flash網站建設是主要的業務所以很是想找到簡單的解決辦法.

  問題

  當你查看web頁面時windows下的IE浏覽器會將ActiveX內容顯不為一個矩形框和一個提示內容為Click to activate and use this control意思就是你需要激活ActiveX的內容才可以查看或交互控制ActiveX內容可能或不能象你預想的那樣載入並進行播放
可以查看Adobe提供的演示這裡

Adobe的解決方案

有如下兩種解決方法:
方法
如果你浏覽了包含ActiveX的頁面點擊這個內容激活它
方法
如果你正在開發一個網站移除針對ActiveX內容所需的用戶激活過程針對此Adobe提供了一份基於javascriptr 解決文檔.這裡
通過使用Adobe的解決文檔可以解決上述問題.

那麼除了上述方法之外還有沒有其它更簡單的方法呢答案是肯定的.可以使用deconcept 的flashObject 相比而言會比使用Adobe的方法更簡單一些.並且運行狀況是良好的.這裡下載Download FlashObject ( hits)

基本方法如下
只需要將flashobjectjs 包含在你的html頁面內然後加上一點javascript代碼嵌入flash swf就ok了.
它的工作方式如下

代碼:
<script type=text/javascript src=flashobjectjs></script>

<div id=flashcontent>
This text is replaced by the Flash movie
</div>

<script type=text/javascript>
var fo = new FlashObject(movieswf mymovie #);
fowrite(flashcontent);
</script>


簡單分析一下或是你可以仔細看flashObject的文檔

代碼:
<div id=flashcontent>
This text is replaced by the Flash movie
</div>


這一段相當於我們在為放置flash文件而准備的一個holder有些象我們常用的空的MovieClip holder為放入內容而准備的.如果你沒有裝flashplayer那麼裡面的那行字會顯示出來如顯示為This text is replaced by the Flash movie
如果你裝了flashplayer那這行字是不會顯示的用戶基本上是看不到的同時它還有一個好處是你可以把這行內容變成的你搜索關鍵字google會很容易搜到它的.呵呵一舉兩得.
下面這段一看就知道是什麼了.
代碼:
<script type=text/javascript>
var fo = new FlashObject(movieswf mymovie #);
fowrite(flashcontent);
</script>


用來嵌入swf比如當前的影片文件是movieswf id是mymoive寬是高是flashplayer版本是背景色是#

下面我們來看一下我們嵌入一個flash的范例
根據上面的基本工作方式我們還要嵌入一些其它的參數來滿足我們一些其它的需要比如我們有一個文件名為wsswf我們想把它嵌入到頁面中又不至於受IE更新的影響
在頁面中包入flashobjectjs文件
<script type=text/javascript src=flashobjectjs></script>
一般這行代碼可以寫在body標簽之前即可
把下面這段代碼加在它下方
代碼:
<div id=flashcontent ></div>
<script type=text/javascript>
   var fo = new FlashObject(wsswf mymovie px #);
   foaddParam(quality low);
   foaddParam(wmode transparent);
   foaddParam(salign t);
   foaddParam(scale noscale);
foaddParam(loop false);
   fowrite(flashcontent);
</script>

從上面的代碼中我們看出我們將要把FLASH放在id為flashcontent層中它的寬為高為像素那麼應是和我們的swf文件的大小是相同的如果你想縮放也可以是不同的下面var fo = new FlashObject(wsswf mymovie px #);
是嵌入flash文件在之前的內容已介紹過它裡面的參數其中的wsswf可以是相對路徑也可以是絕對路徑如你可以直接輸入網站加上你的swf文件名字
再下面的一段就是我們可以加入的參數從上到下分別為quality質量wmode transparent透明salign對齊scale縮放loop循環等
這樣我們的嵌入過程就完成了

如果你想使用flashVars來進行html與flash之前的通訊使用flashobject也是很容易的但有一點使用flashobjcet時只有在swf剛一載入時傳遞參數並且是以值對的形式來傳遞如下:variable=value&variable=value&variable=value
使用方法如下:

代碼:
<script type=text/javascript>
   var fo = new FlashObject(movieswf mymovie #);
   foaddVariable(variable value);
   foaddVariable(variable value);
   foaddVariable(variable value);
   fowrite(flashcontent);
</script>

一旦這一步完成那麼所有的變量就已經傳入到flash你就可以靈活的在你的flash中的_root上使用了

deconcept flashObject還提供了可以加入其它參數的說明.你可以詳細查看

除了這種簡單方法之外這還有一個與之類似的我並沒有仔細看如果你有興趣可以仔細看一下.這裡ufo

哈哈針對微軟IE的更新改變我們已經能輕松的去掉必須要點擊一下才能看的過程了.如果你有空不要忘了去微軟網站上看一下它用的是什麼最後不要忘了更新你網站Cheers  :)

From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19280.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.