AGAMES 討論區

標題: 解決於IE要多click下才能active的問題 [打印本頁]

作者: dlalden    時間: 2008-10-29 18:51:50     標題: 解決於IE要多click下才能active的問題

即刻好多人問: 點解”flash“object, 出面會多左個虛線框

我係另一論壇見到一轉貼的好文章, 但張貼另一論壇資料會違規,
所以我只會張貼其內容而已
由於內容係英文, 我盡力翻譯有用的資料啦, 但不竟我並非修翻譯系

譯得不好, 貨不對辦, 可別在一旁對我說我的不是好了


最近好似有好幾次見到有人問一個問題
"flash 既某按鈕要連咁2 次先有反應"
"flash 出面多左個虛線框"
呢個問題...
應該係microsoft 既其中一個patch 既更新所至
所以所有可以"郁"既野, 都會加一個框線(所有activex , 不論係flash 定係其他野)

解決方法
暫時我知道有2種
但其實原理都係一樣
只要係網頁開左之後先載入既野
佢可以取消框線
(其實網上可以搵到好多好多)

1. 係個dreamweaver 度加裝一個path
咁佢就可以自動幫你解決 (不過我有既只係mx 版本既patch)
仲要裝左extension manager先得
(佢會自動加d javascript)
不過我一向唔用呢d ide ..所以我知...但無做過

2. 手動加返d code (呢個有好幾種方法, 我只post 其中一種)
加呢個function

2-1.
function fixflash(containerID){
var flashContainer = document.getElementById(containerID);
var flashMovie = document.createElement("div");
flashMovie.innerHTML = flashContainer.innerHTML.replace(/</g, "<").replace(/>/g, ">");
flashContainer.parentNode.insertBefore(flashMovie, flashContainer);
flashContainer.parentNode.removeChild(flashContainer);
flashMovie.setAttribute("id",containerID);
}

2-2.
係body 度加返   
onload=”javascript:fixflash(’movie’);”
佢唔俾我出...所以我用全形黎打....唔好蠢到跟我

2-3.
最後 id 名要同上面一樣body 一樣
<div id="movie">
<object >
  ....  (Flash 個d 野)
    </object>
</div>


(上半部係俾你自己個人想解決呢個問題, 有需要就跟佢指示下載個patch, patch 來源自mircosoft)

下半部
:

網頁設計師

我要怎樣做才能擺脫 " 點擊使用這項控制"(唔好笑我, 我唔記得中文係點) 在我的網站上出現? 如果您設計網站的話您大概開始想, "這工作列並不是我想要的東西"
。不竟,這項工作列太令人煩厭

你的好幫助來了
!

現在有個好方法了,去幫助你的用戶使用Internet Explorer時觀看您的網站時,消除這項消息 “點擊使用這項控制”的出現
。 但首先讓我解釋為什麼會有這東西的出現:微軟為了解決使用internet explorer用戶當中的一個bug,因此提供了一個更新,而這項消息則成為了更新的一部分。因此現在所有與 <embed> , <object> 或 <applet> 等有關的內容不得不先點撃後,才能夠使用。

終於是時候教授如果避免點擊使用這項控制出現!
(
其實d code 寫法好似有d多此一, 請各位按自己能力修改)

以 document.write 方法



  1. <!-- HTML File -->
  2. <html>
  3.   <body leftmargin=0 topmargin=0 scroll=no>
  4.     <script src="Embed.js"></script>
  5.   </body>
  6. </html>

  7. // embed.js
  8. document.write('<embed src="examplecontrol">')
複製代碼

以 outerHTML 方式


  1. <!-- HTML File -->
  2. <html>
  3.   <body>
  4.     <div>
  5.       <script src="embedControlOuterHTML.js"></script>
  6.     </div>
  7.   </body>
  8. </html>

  9. // embedControlOuterHTML.js
  10. embedControlLocation.outerHTML = '<embed src="examplecontrol">';
複製代碼

以 document.createElement方式
  1. <!-- HTML File -->
  2. <html>
  3.   <body>
  4.     <div id="DivID">
  5.       <script src="createElementExplicit.js"></script>
  6.   </body>
  7. </html>

  8. // createElementExplicit.js
  9. var myObject = document.createElement('object');
  10. DivID.appendChild(myObject);
  11. myObject.width = "200";
  12. myObject.height = "100";
  13. myObject.classid= "clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6";
  14. myObject.URL = "example.wmv";
  15. myObject.uiMode = "none" ;
複製代碼

以 innerHTML 方式
  1. <!-- HTML File -->
  2. <html>
  3. <head>
  4.    <script src="external_script.js" language="JScript"></script>
  5. </head>

  6. <body>
  7.    <div id="EXAMPLE_DIV_ID">
  8.       This text will be replaced by the control
  9.    </div>
  10.    <script language="JScript">
  11.      CreateControl( "EXAMPLE_DIV_ID",
  12.                     "clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6",
  13.                     "EXAMPLE_OBJECT_ID", "600", "400", "example.wmv",
  14.                     "-1")
  15.    </script>
  16. </body>
  17. </html>

  18. // external_script.js
  19. function CreateControl(DivID, CLSID, ObjectID,
  20.                        WIDTH, HEIGHT, URL, AUTOSTART)
  21. {
  22.   var d = document.getElementById(DivID);
  23.   d.innerHTML =
  24.     '<object classid=' + CLSID + ' id=' + ObjectID +
  25.     ' width=' + WIDTH + ' height=' + HEIGHT +'>
  26.     <param name="URL" value=' + URL + '>
  27.     <param name="autoStart" value=' + AUTOSTART + '/>';
  28. }
複製代碼






歡迎光臨 AGAMES 討論區 (http://forum.agames.hk/) Powered by Discuz! X2