CCSys.js 判断微信平台的代码有问题

在 CCSys.js 对微信平台的 browserType 进行判断时,有bug, 代码中是这样实现的:

sys.browserType = sys.BROWSER_TYPE_UNKNOWN;
/* Determine the browser type */
(function(){
_ var typeReg1 = /mqqbrowser|sogou|qzone|liebao|micromessenger|ucbrowser|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|trident|miuibrowser/i;_
var typeReg2 = /qqbrowser|chrome|safari|firefox|opr|oupeng|opera/i;
var browserTypes = typeReg1.exec(ua);
if(!browserTypes) browserTypes = typeReg2.exec(ua);
_ var browserType = browserTypes ? browserTypes[0] : sys.BROWSER_TYPE_UNKNOWN;_
if (browserType === ‘micromessenger’)
browserType = sys.BROWSER_TYPE_WECHAT;
else if (browserType === “safari” && (ua.match(/android.*applewebkit/)))
browserType = sys.BROWSER_TYPE_ANDROID;
else if (browserType === “trident”)
browserType = sys.BROWSER_TYPE_IE;
else if (browserType === “360 aphone”)
browserType = sys.BROWSER_TYPE_360;
else if (browserType === “mxbrowser”)
browserType = sys.BROWSER_TYPE_MAXTHON;
else if (browserType === “opr”)
browserType = sys.BROWSER_TYPE_OPERA;

    sys.browserType = browserType;
})();

这使得 typeReg1 在 Android 的微信上,会优先匹配到 ”mqqbrowser“ ! 这里应该把 micromessenger 的优先级提高,才能得到正确的结果! 希望引擎组的朋友, 能及时修复一下!谢谢

如果包含 mqqbrowser 其实说明是 X5 内核,并不是微信自带 webview,实际表现和 QQ 浏览器是类似的,所以才会有这个优先级。