static void LoadFile(string filename) { if (!File.Exists(filename)) { return; } TextReader input = new StreamReader(File.OpenRead(filename)); using (input) { string str; Hashtable allhash = new Hashtable(StringComparer.OrdinalIgnoreCase); int aux = 0; ArrayList browserData = new ArrayList(); while ((str = input.ReadLine()) != null) { if (str.Length == 0 || str [0] == ';') { continue; } string userAgent = str.Substring(1, str.Length - 2); BrowserData data = new BrowserData(userAgent); ReadCapabilities(input, data); /* Ignore default browser and file version information */ if (userAgent == "*" || userAgent == "GJK_Browscap_Version") { continue; } string key = data.GetBrowser(); if (key == null || allhash.ContainsKey(key)) { allhash.Add(aux++, data); browserData.Add(data); } else { allhash.Add(key, data); browserData.Add(data); } } alldata = browserData; foreach (BrowserData data in alldata) { string pname = data.GetParentName(); if (pname == null) { continue; } data.Parent = (BrowserData)allhash [pname]; } } }
//TODO - unncomment before official release public static void LogBrowser(BrowserData bd) { IBucketListData bld = new BucketListData(Utility.GetAppSetting(BucketListConstants.DB_CONN)); int browserLogId = bld.LogBrowser(bd); foreach (System.Collections.DictionaryEntry kvp in bd.Capabilities) { bld.LogBrowserCapability(browserLogId, kvp.Key.ToString(), kvp.Value.ToString()); } }
public ActionResult EditData(BrowserData data) { //todo:處理編輯,由於範例資料原為靜態資料,且為form post,故僅重導到Test0 if (null == data) { return Json(new { success = false, msg = "編輯失敗" }, JsonRequestBehavior.AllowGet); } else { return Json(new { success = true, msg = "編輯成功" }, JsonRequestBehavior.AllowGet); } }
static void ReadCapabilities(TextReader input, BrowserData data) { string str, key; string [] keyvalue; while ((str = input.ReadLine()) != null && str.Length != 0) { keyvalue = str.Split(eq, 2); key = keyvalue [0].ToLower(Helpers.InvariantCulture).Trim(); if (key.Length == 0) { continue; } data.Add(key, keyvalue [1]); } }
private List<BrowserData> GetMyDataSource() { List<BrowserData> result = new List<BrowserData>(); //將資料來源隔離出來,這裡可以改用其他資料來源,如DB,CSV,XML.... foreach (var item in MyDataSource()) { BrowserData data = new BrowserData(); data.Engine = item[0]; data.Browser = item[1]; data.Platform = item[2]; data.Version = item[3]; data.Grade = item[4]; result.Add(data); } return result; }
static void ReadCapabilities (TextReader input, BrowserData data) { string str, key; string [] keyvalue; while ((str = input.ReadLine ()) != null && str.Length != 0) { keyvalue = str.Split (eq, 2); key = keyvalue [0].ToLower (Helpers.InvariantCulture).Trim (); if (key.Length == 0) continue; data.Add (key, keyvalue [1]); } }
static void LoadFile (string filename) { if (!File.Exists (filename)) return; TextReader input = new StreamReader (File.OpenRead (filename)); using (input) { string str; Hashtable allhash = new Hashtable (StringComparer.OrdinalIgnoreCase); int aux = 0; ArrayList browserData = new ArrayList (); while ((str = input.ReadLine ()) != null) { if (str.Length == 0 || str [0] == ';') continue; string userAgent = str.Substring (1, str.Length - 2); BrowserData data = new BrowserData (userAgent); ReadCapabilities (input, data); /* Ignore default browser and file version information */ if (userAgent == "*" || userAgent == "GJK_Browscap_Version") continue; string key = data.GetBrowser (); if (key == null || allhash.ContainsKey (key)) { allhash.Add (aux++, data); browserData.Add (data); } else { allhash.Add (key, data); browserData.Add (data); } } alldata = browserData; foreach (BrowserData data in alldata) { string pname = data.GetParentName (); if (pname == null) continue; data.Parent = (BrowserData) allhash [pname]; } } }
protected BrowserData GetBrowserData() { BrowserData bd = new BrowserData(); System.Web.HttpBrowserCapabilitiesBase browser = HttpContext.Request.Browser; bd.ActiveXControls = browser.ActiveXControls; bd.AOL = browser.AOL; bd.BackgroundSounds = browser.BackgroundSounds; bd.Beta = browser.Beta; bd.Browser = browser.Browser; bd.Browsers = browser.Browsers; bd.CanCombineFormsInDeck = browser.CanCombineFormsInDeck; bd.CanInitiateVoiceCall = browser.CanInitiateVoiceCall; bd.CanRenderAfterInputOrSelectElement = browser.CanRenderAfterInputOrSelectElement; bd.CanRenderEmptySelects = browser.CanRenderEmptySelects; bd.CanRenderInputAndSelectElementsTogether = browser.CanRenderInputAndSelectElementsTogether; bd.CanRenderMixedSelects = browser.CanRenderMixedSelects; bd.CanRenderOneventAndPrevElementsTogether = browser.CanRenderOneventAndPrevElementsTogether; bd.CanRenderPostBackCards = browser.CanRenderPostBackCards; bd.CanRenderSetvarZeroWithMultiSelectionList = browser.CanRenderSetvarZeroWithMultiSelectionList; bd.CanSendMail = browser.CanSendMail; bd.Capabilities = browser.Capabilities; bd.CDF = browser.CDF; bd.ClrVersion = browser.ClrVersion.ToString(); bd.Cookies = browser.Cookies; bd.Crawler = browser.Crawler; bd.DefaultSubmitButtonLimit = browser.DefaultSubmitButtonLimit; bd.EcmaScriptVersion = browser.EcmaScriptVersion.ToString(); bd.Frames = browser.Frames; bd.GatewayMajorVersion = browser.GatewayMajorVersion; bd.GatewayMinorVersion = browser.GatewayMinorVersion; bd.GatewayVersion = browser.GatewayVersion; bd.HasBackButton = browser.HasBackButton; bd.HidesRightAlignedMultiselectScrollbars = browser.HidesRightAlignedMultiselectScrollbars; bd.HtmlTextWriter = browser.HtmlTextWriter; bd.Id = browser.Id; bd.InputType = browser.InputType; bd.IsColor = browser.IsColor; bd.IsMobileDevice = browser.IsMobileDevice; bd.JavaApplets = browser.JavaApplets; bd.JScriptVersion = browser.JScriptVersion.ToString(); bd.MajorVersion = browser.MajorVersion; bd.MaximumHrefLength = browser.MaximumHrefLength; bd.MaximumRenderedPageSize = browser.MaximumRenderedPageSize; bd.MaximumSoftkeyLabelLength = browser.MaximumSoftkeyLabelLength; bd.MinorVersion = browser.MinorVersion; bd.MinorVersionString = browser.MinorVersionString; bd.MobileDeviceManufacturer = browser.MobileDeviceManufacturer; bd.MobileDeviceModel = browser.MobileDeviceModel; bd.MSDomVersion = browser.MSDomVersion.ToString(); bd.NumberOfSoftkeys = browser.NumberOfSoftkeys; bd.Platform = browser.Platform; bd.PreferredImageMime = browser.PreferredImageMime; bd.PreferredRenderingMime = browser.PreferredRenderingMime; bd.PreferredRenderingType = browser.PreferredRenderingType; bd.PreferredRequestEncoding = browser.PreferredRequestEncoding; bd.PreferredResponseEncoding = browser.PreferredResponseEncoding; bd.RendersBreakBeforeWmlSelectAndInput = browser.RendersBreakBeforeWmlSelectAndInput; bd.RendersBreaksAfterHtmlLists = browser.RendersBreaksAfterHtmlLists; bd.RendersBreaksAfterWmlAnchor = browser.RendersBreaksAfterWmlAnchor; bd.RendersBreaksAfterWmlInput = browser.RendersBreaksAfterWmlInput; bd.RendersWmlDoAcceptsInline = browser.RendersWmlDoAcceptsInline; bd.RendersWmlSelectsAsMenuCards = browser.RendersWmlSelectsAsMenuCards; bd.RequiredMetaTagNameValue = browser.RequiredMetaTagNameValue; bd.RequiresAttributeColonSubstitution = browser.RequiresAttributeColonSubstitution; bd.RequiresContentTypeMetaTag = browser.RequiresContentTypeMetaTag; bd.RequiresControlStateInSession = browser.RequiresControlStateInSession; bd.RequiresDBCSCharacter = browser.RequiresDBCSCharacter; bd.RequiresHtmlAdaptiveErrorReporting = browser.RequiresHtmlAdaptiveErrorReporting; bd.RequiresLeadingPageBreak = browser.RequiresLeadingPageBreak; bd.RequiresNoBreakInFormatting = browser.RequiresNoBreakInFormatting; bd.RequiresOutputOptimization = browser.RequiresOutputOptimization; bd.RequiresPhoneNumbersAsPlainText = browser.RequiresPhoneNumbersAsPlainText; bd.RequiresSpecialViewStateEncoding = browser.RequiresSpecialViewStateEncoding; bd.RequiresUniqueFilePathSuffix = browser.RequiresUniqueFilePathSuffix; bd.RequiresUniqueHtmlCheckboxNames = browser.RequiresUniqueHtmlCheckboxNames; bd.RequiresUniqueHtmlInputNames = browser.RequiresUniqueHtmlInputNames; bd.RequiresUrlEncodedPostfieldValues = browser.RequiresUrlEncodedPostfieldValues; bd.ScreenBitDepth = browser.ScreenBitDepth; bd.ScreenCharactersHeight = browser.ScreenCharactersHeight; bd.ScreenCharactersWidth = browser.ScreenCharactersWidth; bd.ScreenPixelsHeight = browser.ScreenPixelsHeight; bd.ScreenPixelsWidth = browser.ScreenPixelsWidth; bd.SupportsAccesskeyAttribute = browser.SupportsAccesskeyAttribute; bd.SupportsBodyColor = browser.SupportsBodyColor; bd.SupportsBold = browser.SupportsBold; bd.SupportsCacheControlMetaTag = browser.SupportsCacheControlMetaTag; bd.SupportsCallback = browser.SupportsCallback; bd.SupportsCss = browser.SupportsCss; bd.SupportsDivAlign = browser.SupportsDivAlign; bd.SupportsDivNoWrap = browser.SupportsDivNoWrap; bd.SupportsEmptyStringInCookieValue = browser.SupportsEmptyStringInCookieValue; bd.SupportsFontColor = browser.SupportsFontColor; bd.SupportsFontName = browser.SupportsFontName; bd.SupportsFontSize = browser.SupportsFontSize; bd.SupportsImageSubmit = browser.SupportsImageSubmit; bd.SupportsIModeSymbols = browser.SupportsIModeSymbols; bd.SupportsInputIStyle = browser.SupportsInputIStyle; bd.SupportsInputMode = browser.SupportsInputMode; bd.SupportsItalic = browser.SupportsItalic; bd.SupportsJPhoneMultiMediaAttributes = browser.SupportsJPhoneMultiMediaAttributes; bd.SupportsJPhoneSymbols = browser.SupportsJPhoneSymbols; bd.SupportsQueryStringInFormAction = browser.SupportsQueryStringInFormAction; bd.SupportsRedirectWithCookie = browser.SupportsRedirectWithCookie; bd.SupportsSelectMultiple = browser.SupportsSelectMultiple; bd.SupportsUncheck = browser.SupportsUncheck; bd.SupportsXmlHttp = browser.SupportsXmlHttp; bd.Tables = browser.Tables; bd.Type = browser.Type; bd.UseOptimizedCacheKey = browser.UseOptimizedCacheKey; bd.VBScript = browser.VBScript; bd.Version = browser.Version; bd.W3CDomVersion = browser.W3CDomVersion.ToString(); bd.Win16 = browser.Win16; bd.Win32 = browser.Win32; return bd; }
static void ReadCapabilities (TextReader input, BrowserData data) { string str; while ((str = input.ReadLine ()) != null && str.Length != 0) { string [] keyvalue = str.Split (eq, 2); data.Add (keyvalue [0], keyvalue [1]); } }
static void LoadFile (string filename) { #if TARGET_J2EE TextReader input = GetJavaTextReader(filename); if(input == null) return; #else if (!File.Exists (filename)) return; TextReader input = new StreamReader (File.OpenRead (filename)); #endif string str; Hashtable allhash = new Hashtable (); int aux = 0; while ((str = input.ReadLine ()) != null) { if (str.Length == 0 || str [0] == ';') continue; string userAgent = str.Substring (1, str.Length - 2); BrowserData data = new BrowserData (userAgent); ReadCapabilities (input, data); /* Ignore default browser and file version information */ if (userAgent == "*" || userAgent == "GJK_Browscap_Version") continue; string key = data.GetBrowser (); if (key == null || allhash.ContainsKey (key)) { allhash.Add (aux++, data); } else { allhash.Add (key, data); } } alldata = allhash.Values; foreach (BrowserData data in alldata) { if (data.Parent != null) continue; string pname = data.GetParentName (); if (pname != null) data.Parent = (BrowserData) allhash [pname]; } }