Opera用户代理“Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 38.0.2125.104 Safari / 537.36 OPR / 25.0.1614.63”在服务器端定义为“Chrome”。< / p>
我想覆盖对象Request.Browser的创建,并将文件“opera.browser”添加到文件夹“App_Browsers”中:
<browsers>
<browser id="Opera" parentID="Chrome">
<identification>
<userAgent match="OPR/(?'version'(?'major'\d+)(\.(?'minor'\d+)?)\w*)" />
</identification>
<capabilities>
<capability name="browser" value="Opera" />
<capability name="majorversion" value="${major}" />
<capability name="minorversion" value="${minor}" />
<capability name="type" value="Opera${major}" />
<capability name="version" value="${version}" />
</capabilities>
</browser>
</browsers>
但Regex无法正常工作,而Request.Browser.Browser仍定义为“Chrome”。
答案 0 :(得分:1)
您可以通过
手动设置用户代理HttpContext.SetOverriddenBrowser("Some browser");
如果您想清除覆盖,只需执行
HttpContext.ClearOverriddenBrowser();
答案 1 :(得分:0)
您还必须更新chrome.browser(可能还有mozilla.browser)以匹配该正则表达式。