asp.net 的 menu 元件 在 Chrome瀏覽器怪怪的問題,可以在Google上找到一堆相同的文章
原則上也都是正確的,至少我自己測試過是ok的~
只是,我遇到一個更詭譎複雜的狀況,就是剛好我的Menu元件下面,剛好緊接著一個Flash的Object 內嵌物件
讓我們一個一個來吧
解決 Chrome 的顯示問題,直接問Google就會有答案了
所以 就不多解釋了
只要在專案中加上App_Browsers的資料夾,這是一個特殊的資料夾,所以按右鍵> 加入Asp.Net 資料夾 > App_Browsers
然後在該資料夾內新增項目 >"瀏覽資訊檔" > 命名為 Chrome.browser 的檔案(可以自行命名)
如果不想這麼囉嗦 直接 加入新項目 ,選擇 "瀏覽資訊檔" 確定新增後 就會問你要不要建立該資料夾,並放進去了
加入後會直接開啟剛剛新增的檔案,預設內容可以刪掉 修改如下
<browsers>
<browser id="Safari" parentID="Safari1Plus">
<identification>
<userAgent match="Safari/\d+\.\d+" />
</identification>
<capture>
<userAgent match="Version/(?'version'\d+\.\d+)" />
</capture>
<capabilities>
<capability name="browser" value="Safari" />
<capability name="version" value="${version}" />
</capabilities>
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu"
adapterType="" />
</controlAdapters>
</browser>
<browser id="GoogleChrome" parentID="Safari">
<identification>
<userAgent match="Chrome/(?'version'\d+\.\d+)" />
</identification>
<capabilities>
<capability name="browser" value="Googlebot" />
</capabilities>
</browser>
</browsers>
Google Chrome以及Safari 就可以正常顯示ASP.Net的Menu Control 了
接下來,如果去問Google有關Flash覆蓋的問題 ,可以找到在Flash 的 object 標籤 物件加入屬性的解決辦法
<param name="wmode" value="transparent">
使flash的背景在網頁中透明、不擋住html圖層
<param name="wmode" value="opaque">
使flash的背景在網頁中不透明、不擋住html圖層
通常到這裡應該就可以下課了
但是很遺憾,問這個問題的地方,文章發表在一般的HTML網頁設計中
或者使用DreamWeaver,又或者Javascript...等
而不是ASP.net..........所以,在應該買樂透的這天,就讓我遇上了這麼機車的問題大合體
幸好,有找到另一個解決辦法~而且這個也跟Asp.net無關
懶得打字~所以就直接轉載吧
原文所在:http://www.superpay.com.tw/2009arts/Article/d/3220.html
內容如下
Flash覆蓋div解決方案
2008-11-26 9:29:57
有兩種方法:一種就是設置flash為透明,但是如果你在DW中插入動畫,再加
<param name="wmode" value="transparent">
是不生效的。要把整個的flash插件代碼換成如下:
<object type="application/x-shockwave-flash" data="" width="560" height="210">
<param name="movie" value="" />
<param name="wmode" value="transparent" />
</object>
對比一下,和DW自動生成的代碼是有區別的,測試過,IE FF 均可以。
第二種方法:
設置flash置底,加個代碼:<param name="wmode" value="opaque" />
但是只加這個代碼,IE可行,在FF下,失效。要想在FF下起作用,還要用在<object 里加個 wmode="opaque" ,實例代碼如下:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="" width="560" height="210">
<param name="movie" value="" />
<param name="quality" value="high" />
<param name="wmode" value="opaque">
<embed src="" wmode="opaque" quality="high" pluginspage="" type="application/x-shockwave-flash" width="560" height="210"></embed>
</object>
另外一種方法是:
將flash object 改變
<style>
div {
width:100px;
height:100px;
position:absolute;
top:20px;
left:20px;
background:red
}
object {
width:400px;
height:100px;
}
</style>
<div>aaaa</div>
<object type="application/x-shockwave-flash" data="">
<param name="movie" value="" />
<param name="wmode" value="transparent" />
</object>
以上報告完畢,
留言列表