C# Menu 导航菜单控件Apple Safari & Google Chrome浏览器上显示无效问题
2011-01-18 14:56
1006 查看
from: http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/78f5f655-f378-4662-b73d-b6371d03f20c
1.在网站內新增一个项目叫做 浏览器文件", 它自动会产生一个App_Browsers的目录, 包含一个叫BrowserFile.browser的文件.
2.在App_Browsers的目录下再新增一个 "浏览器文件"项目,取名为Others.browser.
文件代码为:
代码
1 <!--
2 You can find existing browser definitions at
3 <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers
4 -->
5 <browsers>
6 <browser id="NewBrowser" parentID="Mozilla">
7 <identification>
8 <userAgent match="Unique User Agent Regular Expression" />
9 </identification>
10
11 <capture>
12 <userAgent match="NewBrowser (?'version'\d+\.\d+)" />
13 </capture>
14
15 <capabilities>
16 <capability name="browser" value="My New Browser" />
17 <capability name="version" value="${version}" />
18 </capabilities>
19 </browser>
20
21 <browser refID="Mozilla">
22 <capabilities>
23 <capability name="xml" value="true" />
24 </capabilities>
25 </browser>
26
27 <browser id ="Safari3" parentID ="Safari1Plus">
28 <identification >
29 <userAgent match ="Safari/\d+\.\d+"/>
30 </identification>
31 <capture>
32 <userAgent match ="Version/(?'version'\d+\.\d+)"/>
33 </capture>
34 <capabilities>
35 <capability name ="browser" value ="Safari3"/>
36 <capability name ="version" value ="${version}"/>
37 </capabilities>
38 <controlAdapters>
39 <adapter controlType ="System.Web.UI.WebControls.Menu"
40 adapterType =""/>
41 </controlAdapters>
42 </browser>
43 <browser id ="GoogleChrome" parentID ="Safari3">
44 <identification>
45 <userAgent match ="Chrome/(?'version'\d+\.\d+)"/>
46 </identification >
47 <capabilities >
48 <capability name ="browser" value ="Googlebot"/>
49 </capabilities>
50 </browser>
51 </browsers>
p.s. 如果上述方法搞不定的話, 可以在Page_Load的地方加一代码:
c#:
1 if(Request.UserAgent.IndexOf("AppleWebKit") > 0)
2 {
3 Request.Browser.Adapters.Clear();
4 }
在 Page_PreInit加上代码
1 if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
2 {
3 this.ClientTarget = "uplevel";
4 }
VB:
1 If Request.UserAgent.IndexOf("AppleWebKit") > 0 Then Request.Browser.Adapters.Clear()
1.在网站內新增一个项目叫做 浏览器文件", 它自动会产生一个App_Browsers的目录, 包含一个叫BrowserFile.browser的文件.
2.在App_Browsers的目录下再新增一个 "浏览器文件"项目,取名为Others.browser.
文件代码为:
代码
1 <!--
2 You can find existing browser definitions at
3 <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers
4 -->
5 <browsers>
6 <browser id="NewBrowser" parentID="Mozilla">
7 <identification>
8 <userAgent match="Unique User Agent Regular Expression" />
9 </identification>
10
11 <capture>
12 <userAgent match="NewBrowser (?'version'\d+\.\d+)" />
13 </capture>
14
15 <capabilities>
16 <capability name="browser" value="My New Browser" />
17 <capability name="version" value="${version}" />
18 </capabilities>
19 </browser>
20
21 <browser refID="Mozilla">
22 <capabilities>
23 <capability name="xml" value="true" />
24 </capabilities>
25 </browser>
26
27 <browser id ="Safari3" parentID ="Safari1Plus">
28 <identification >
29 <userAgent match ="Safari/\d+\.\d+"/>
30 </identification>
31 <capture>
32 <userAgent match ="Version/(?'version'\d+\.\d+)"/>
33 </capture>
34 <capabilities>
35 <capability name ="browser" value ="Safari3"/>
36 <capability name ="version" value ="${version}"/>
37 </capabilities>
38 <controlAdapters>
39 <adapter controlType ="System.Web.UI.WebControls.Menu"
40 adapterType =""/>
41 </controlAdapters>
42 </browser>
43 <browser id ="GoogleChrome" parentID ="Safari3">
44 <identification>
45 <userAgent match ="Chrome/(?'version'\d+\.\d+)"/>
46 </identification >
47 <capabilities >
48 <capability name ="browser" value ="Googlebot"/>
49 </capabilities>
50 </browser>
51 </browsers>
p.s. 如果上述方法搞不定的話, 可以在Page_Load的地方加一代码:
c#:
1 if(Request.UserAgent.IndexOf("AppleWebKit") > 0)
2 {
3 Request.Browser.Adapters.Clear();
4 }
在 Page_PreInit加上代码
1 if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
2 {
3 this.ClientTarget = "uplevel";
4 }
VB:
1 If Request.UserAgent.IndexOf("AppleWebKit") > 0 Then Request.Browser.Adapters.Clear()
相关文章推荐
- 最简单的方法,让 ASP.NET Menu 控件在 Google Chrome 浏览器上正常显示
- C#contextmenustrip长度问题 右键快捷菜单上的文字不能完全显示
- 最简单的方法,让 ASP.NET Menu 控件在 Google Chrome 浏览器上正常显示
- 解决 asp.net 中如果 Menu 控件放在 MasterPage 中, IE6 会出现的二级菜单不能正确显示的问题
- 让 ASP.NET Menu 控件在 Google Chrome 浏览器上正常显示
- 关于&nbsp;空格实体在最新的IE、Firefox和Google Chrome浏览器中解析宽度不一致问题的解决
- ORACLE 插入时间时显示'无效的月份'的问题
- 【safari挖的那些坑】iOS safari 浏览器 时间乱码(ios时间显示NaN) 问题解决
- Android 解决android4.0系统中菜单(Menu)添加Icon无效问题
- 问题:使用ajax跳转到新页面无效(浏览器Safari)
- 解决android4.0系统中菜单(Menu)添加Icon无效问题
- C# TreeView树控件,失去焦点仍然高亮显示,右击节点时才弹出右键菜单,空白处右击不弹出菜单
- C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)
- EmguCV控件Emgu.CV.UI.ImageBox及C# picturebox显示图片连续刷新出现闪烁问题
- 转:C#判断ContextMenuStrip右键菜单的来源(从哪个控件弹出来的)
- 解决android4.0系统中菜单(Menu)添加Icon无效问题
- fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
- fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
- selenium显示等待解决浏览器未加载完成查找控件的问题
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它InvalidOperationException异常