發新話題

[轉貼] Flash 最近的「請按一下來啟動並使用此控制」

[轉貼] Flash 最近的「請按一下來啟動並使用此控制」

Keywords:請按一下來啟動並使用此控制,IE6,更新Update,IE 對 ActiveX 控制項的啟動方式變更之更新,Flash 灰色虛線,Microsoft ActiveX 控制項,TAB 鍵和 ENTER 鍵,KB912945,flashobject,Adobe ActiveContent,AC_RunActiveContent.js,AC_ActiveX.js,flash 8 player,點按以啟用並使用這控制項

狀況描述:
原本 SWF 出現的位置,會出現灰色虛線,並顯示「請按一下來啟動並使用此控制」的字眼,需要按一下才能繼續操作SWF裡頭的功能。
如圖(以 http://goodmorning2006.com/ 為例)

造成請按一下來啟動並使用此控制的發生原因:

IE 對 ActiveX 控制項的啟動方式變更之更新

Microsoft Update 中新增了兩個選用更新,包括先前的 IE7 的 HTTP 驗證問題修正,以及這個更新:「在此更新中,Internet Explorer 對部分使用 Microsoft ActiveX 控制項之網頁的處理方式略有變更。 特定網頁將要求使用者按一下 ActiveX 控制項或使用 TAB 鍵和 ENTER 鍵,以手動方式啟動。 此更新包含所有已發佈之安全性更新。」。總之,安裝此更新後,網頁中使用到 ActiveX 控制項的行為可能會有所變化。可以由「新增或移除程式」中移除此更新。可直接下載 KB912945:Internet Explorer for Windows XP Service Pack 2 更新或 KB912945:Internet Explorer for Windows Server 2003 更新。參考 Internet Explorer ActiveX update 及 Activating ActiveX Controls。

2006/3/2 16:20 更新
安裝後,包括像 Flash,都要滑鼠移上該控制項,會出現「請按一下來啟動並控制此控制」訊息,點一下滑鼠後才能開始操作。參考避免專利爭議 微軟更新 IE。


相關連結:
訪客無法瀏覽此圖片或連結,請先 註冊登入會員

訪客無法瀏覽此圖片或連結,請先 註冊登入會員

訪客無法瀏覽此圖片或連結,請先 註冊登入會員



訪客無法瀏覽此圖片或連結,請先 註冊登入會員

訪客無法瀏覽此圖片或連結,請先 註冊登入會員

訪客無法瀏覽此圖片或連結,請先 註冊登入會員

請按一下來啟動並使用此控制 的 解決方法

1.如果是自己的電腦,當然可以如上文所述,移除該更新,但也只能撐到6月(會變成關鍵更新),建議改寫一下比較好(見以下另兩個方法)
訪客無法瀏覽此圖片或連結,請先 註冊登入會員

移除方法:
這是微軟新增的更新 (KB912945) 在作祟.

解決步驟:
1. 按 [開始]
2. 按 [執行]
3. 輸入 appwiz.cpl 並按 [確定]
4. 勾選右上方的 [顯示更新]
5. 點選 [Windows XP 更新 (KB912945)]
6. 按 [移除]
7. 依照畫面上的指示,移除 KB912945

備註:在移除的過程中會出現某些軟體將可能無法使用的提示訊息,無須理會,因為基本上這個更新是不會影響到的

若找不到 KB912945,就有可能是 KB912812 在作祟,因為 KB912812 包含了 KB912945,解決方法是下載並安裝KB917425,安裝後它就會停止 KB912812 的行為.根據微軟的說明,KB917425 僅適用於 IE 6.0,所以若你的 IE並非 IE 6.0 或安裝 KB917425 後無效,你可以嘗試參照上述的方法 [移除] KB912812.



2.非官方解決方案 Flash Object
訪客無法瀏覽此圖片或連結,請先 註冊登入會員

範例:
(1)要下載flashobject.js [訪客無法瀏覽此圖片或連結,請先 註冊登入會員 ]
(2)使用script標籤將flashobject.js引用
(3)準備一個div區塊,並定義好id
(4)撰寫JavaScript將Flash秀出(利用FlashObject 物件定義SWF參數,並使用write方法將Flash填入div區塊當中)
複製內容到剪貼板
代碼:
<script type="text/javascript" src="flashobject.js"></script>
               
<div id="flashcontent">
  準備放置SWF的位置
</div>

<script type="text/javascript">
   var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
   fo.write("flashcontent");
</script>
依序參數說明:
swf - SWF檔名
id - ID 標籤名
width - 寬度
height - 高度
version - Flash版本,格式為 ''''''''''''''''majorVersion.minorVersion.revision'''''''''''''''' ,如 "6.0.65" 或只要填主版本 "6"
background color - 背景顏色

3.官方Adobe ActiveContent 解方案
http://www.macromedia.com/devnet/activecontent/articles/devletter.html
同樣要下載JavaScript檔案,只是語法不同而已
訪客無法瀏覽此圖片或連結,請先 註冊登入會員

檔案內有三個檔案,要把其中的2的.js檔複製到網頁處
檔名:AC_RunActiveContent.js、AC_ActiveX.js

使用方法:
(1) 使用時在網頁<HEAD>...</HEAD>標籤內中加入兩行
http://bbs.flash2u.com.tw/flash8/flashobject/ActiveContent-1.jpg
可找到 < /HEAD > 標籤之前放入
原始語法片斷如下:
複製內容到剪貼板
代碼:
<script src="AC_RunActiveContent.js" type="text/javascript"></script>
<script src="AC_ActiveX.js" type="text/javascript"></script>
(js 檔請填寫實際路徑)

(2) 接著再改寫一些 JS

在原SWF位置處改成新的寫法,如
原本
http://bbs.flash2u.com.tw/flash8/flashobject/ActiveContent-2.jpg
原始語法片斷如下:
複製內容到剪貼板
代碼:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="924" height="122">
<param name="movie" value="xxx.swf" />
<param name="quality" value="high" />
<embed src="xxx.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="924" height="122"></embed>
</object>
改寫後
http://bbs.flash2u.com.tw/flash8/flashobject/ActiveContent-3.jpg
原始語法片斷如下:
複製內容到剪貼板
代碼:
<script type="text/javascript">
        AC_FL_RunContent( "codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0","width","924","height","122","src","xxx","quality","high","pluginspage","http://www.macromedia.com/go/getflashplayer","movie","xxx" ); //end AC code
</script>
注意以上 xxx 的部分,該 xxx 為 SWF 的檔名,在AC_FL_RunContent裡頭不需填寫 .swf 附檔名,故原本實際的SWF為 xxx.swf 時,只需寫成 xxx 即可

AC_FL_RunContent 的實際寫法很單純,就是參數對應內容
如:
codebase
對應
訪客無法瀏覽此圖片或連結,請先 註冊登入會員

width 對應 924 (請改成實際的SWF寬度)
height 對應 122 (請改成實際的SWF高度)
quality 對應 high
src 及 movie 都對應到檔名
--------------------------------------------------------------------------

若擔心使用者沒有開啟JavaScript功能,則可兩者合併撰寫
如:
http://bbs.flash2u.com.tw/flash8/flashobject/ActiveContent-4.jpg
原始語法片斷如下:
複製內容到剪貼板
代碼:
<script type="text/javascript">
        AC_FL_RunContent( "codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0","width","924","height","122","src","images/index/index_menu","quality","high","pluginspage","http://www.macromedia.com/go/getflashplayer","movie","images/index/index_menu" ); //end AC code
</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="924" height="122">
  <param name="movie" value="images/index/index_menu.swf" />
  <param name="quality" value="high" />
  <embed src="images/index/index_menu.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="924" height="122"></embed>
</object>
</noscript>
4.第四招---終極快速活化所有 IE ActiveX Object
方法:
只要在 </body> 後面加上一行

<script src="java script:'document.body.innerHTML+=\'\'';"></script>

就可以讓該頁面所有的 ActiveX Object 活化

TOP

Thanks

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。