IsMobile: False
ScreenPixelsWidth: 0
ScreenPixelsHeight: 0
IsEmulatingDesktop: Unknown
LayoutEngine: Unknown
CssColumn: False
CssTransitions: True
AnimationTiming: True
BlobBuilder: True
CssBackground: True
CssBorderImage: True
CssCanvas: False
CssColor: True
CssFlexbox: True
CssFont: True
CssImages: True
CssMediaQueries: True
CssMinMax: True
CssOverflow: True
CssPosition: True
CssText: True
CssTransforms: True
CssUI: True
DataSet: True
DataUrl: True
DeviceOrientation: True
FileReader: True
FileSaver: False
FileWriter: False
FormData: True
Fullscreen: True
GeoLocation: True
History: True
Html-Media-Capture: True
Html5: True
Iframe: True
IndexedDB: True
Json: True
PostMessage: True
Progress: True
Prompts: True
Selector: True
Svg: True
TouchEvents: True
Track: True
Video: True
Viewport: True
WebWorkers: True
Xhr2: True
Masking: True
Canvas: True
JavascriptImageOptimiser: function FODIO(width_param, height_param) { var src_parameter = "src"; var width_parameter = "w"; if (typeof width_param !== "undefined") { width_parameter = width_param; } var height_parameter = "h"; if (typeof height_param !== "undefined") { height_parameter = height_param; } var auto_parameter = "auto"; //* (LoadImage) Loads the image based on measurements taken within the browser. */ function setImage(image_element, image_src) { // Get the query string parameters for the image element src. var qs = (function (a) { var b = {}; if (a != "") { for (var i = 0; i < a.length; ++i) { var p = a[i].split('='); if (p.length != 2) continue; b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); } } return b; })(image_src.split(/[&\?]+/)); // Does the control have a 1 by 1 image displayed? var startWithParent = (image_element.parentNode.nodeName == "A" || (image_element.offsetWidth == 1 && image_element.offsetHeight == 1)); // Get the width of the image. var width = qs[width_parameter]; if (width != undefined && isNaN(width)) { width = getWidth(startWithParent ? image_element.parentNode : image_element); if (startWithParent) image_element.parentNode.style.width = width + "px"; } // Get the height of the image. var height = qs[height_parameter]; if (height != undefined && isNaN(height)) { height = getHeight(startWithParent ? image_element.parentNode : image_element); if (startWithParent) image_element.parentNode.style.height = height + "px"; } // Change the image source to the selected width and height. var parameters = []; if (width > 0) parameters.push(width_parameter + "=" + width); if (height > 0) parameters.push(height_parameter + "=" + height); if(qs[src_parameter] != undefined) parameters.push(src_parameter + "=" + qs[src_parameter]); image_element.src = image_src.substring(0, image_src.indexOf("?")) + "?" + parameters.join("&"); } function getWidth(element) { if (element != undefined) { if (element.nodeName != "A" && element.offsetWidth != 0) return element.offsetWidth; return getWidth(element.parentNode); } return 0; } function getHeight(element) { if (element != undefined) { if (element.nodeName != "A" && element.offsetHeight != 0) return element.offsetHeight; return getHeight(element.parentNode); } return 0; } function setImageSource(image_element, image_src) { if (image_src.indexOf("?") >= 0 && ( image_src.indexOf(width_parameter + "=" + auto_parameter, image_src.indexOf("?")) >= 0 || image_src.indexOf(height_parameter + "=" + auto_parameter, image_src.indexOf("?")) >= 0)) { setImage(image_element, image_src); return true; } return false; } // Loop through all the img elements finding any with the data src // attribute set. var images = document.getElementsByTagName("img"); for (var i = 0, max = images.length; i < max; i++) { var image_element = images[i]; if (!setImageSource(image_element, image_element.src)) { var data_src = image_element.attributes["data-src"]; if (data_src != undefined) { setImageSource(image_element, data_src.value); } } } }
BrowserPropertySource: RingMark
DeviceId: 15364-17017-17470-18092
SignaturesChecked: 2
Method: closest
Confidence: 0
Time: 0.023581981658936
debug_timings - node_match_time: 0.0085151195526123
debug_timings - signature_match_time: 0.01244592666626
debug_timings - numeric_match_time: 0.01154613494873
debug_timings - get_closest_sigs_time: 8.392333984375E-5
debug_timings - closest_match_node_sort_time: 5.9604644775391E-6
debug_timings - closest_match_node_fill_signatures_time: 3.9100646972656E-5
debug_timings - closest_match_filling_linked_list_time: 1.0967254638672E-5
debug_timings - closest_match_sorting_signature_ranks: 2.8610229492188E-6
debug_timings - get_sig_from_rank_time: 1.5974044799805E-5
debug_timings - eval_nearest_sigs_time: 8.2015991210938E-5
debug_timings - nearest_match_evaluate_signatures: 7.9870223999023E-5
debug_timings - eval_closest_sigs_time: 0.00030279159545898
debug_timings - closest_match_evaluate_signatures: 0.00030183792114258
debug_timings - profile_fetch_time: 8.1777572631836E-5
debug_timings - property_fetch_time: 0.0024881362915039
debug_info - root_nodes_evaluated: 154
debug_info - nodes_evaluated: 954
debug_info - string_read: 51
debug_info - signatures_read: 35
debug_info - signatures_compared: 2
debug_info - difference: 2
debug_info - signature_string: Python-urllib______AppEngine_Google____http://code.google.com/appengine______________bot
DataFile: /d2/httpd/php/51Degrees-PHP-3.1.5.1/core/51Degrees-Lite.dat