{"id":694,"date":"2013-01-21T10:00:27","date_gmt":"2013-01-21T09:00:27","guid":{"rendered":"https:\/\/d-mueller.de\/blog\/?p=694"},"modified":"2013-01-21T21:03:03","modified_gmt":"2013-01-21T20:03:03","slug":"browserscope","status":"publish","type":"post","link":"https:\/\/d-mueller.de\/blog\/browserscope\/","title":{"rendered":"Browserscope"},"content":{"rendered":"<blockquote><p>Browserscope is a community-driven project for profiling web browsers. The goals are to foster innovation by tracking browser functionality and to be a resource for web developers.<\/p><\/blockquote>\n<p>So zumindest der Hersteller. Im Grunde geht&#8217;s darum: Ich packe mir ein kleines Script von Browserscope auf die Webseite und kann diesem dann verschiedene Parameter \u00fcbergeben, die typischerweise etwa A\/B-Tests sind oder Browser-Feature-Pr\u00fcfungen der Benutzer meiner Webseite. Die Informationen werden dann an Browserscope \u00fcbertragen und sch\u00f6n \u00fcbersichtlich dargestellt. Super, wenn ich etwa testen will, wann ich ein Feature f\u00fcr alle Besucher meiner Webseite freischalten kann.<\/p>\n<h2>Wie funktionierts?<\/h2>\n<p><a href=\"http:\/\/www.browserscope.org\/\">Sign In<\/a> rechts oben mit dem Google-Account. Auf der <a href=\"http:\/\/www.browserscope.org\/user\/settings\">Settings-Page<\/a> steht der API-Key, auch ein neuer Test l\u00e4sst sich dort anlegen.<\/p>\n<div id=\"attachment_695\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Test.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-695\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Test-300x121.png\" alt=\"Browserscope-Test\" title=\"Browserscope-Test\" width=\"300\" height=\"121\" class=\"size-medium wp-image-695\" srcset=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Test-300x121.png 300w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Test.png 923w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-695\" class=\"wp-caption-text\">Browserscope-Test<\/p><\/div>\n<p>Das wars auch genau genommen schon. Mit folgendem Seitenaufbau k\u00f6nnen wir an den Start gehen:<\/p>\n<pre data-enlighter-language=\"html\" class=\"EnlighterJSRAW\">\r\n&lt;!doctype html&gt;\r\n&lt;head&gt;\r\n&lt;script src=&quot;http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.8.1\/jquery.min.js&quot;&gt;&lt;\/script&gt;\r\n&lt;script src=&quot;http:\/\/cdnjs.cloudflare.com\/ajax\/libs\/modernizr\/2.6.2\/modernizr.min.js&quot;&gt;&lt;\/script&gt;\r\n\r\n&lt;script&gt;\r\n\tvar _bTestResults = {\r\n\t  &#039;test_websockets&#039;: Modernizr.websockets ? 1 : 0,\r\n\t  &#039;test_boxshadow&#039;: Modernizr.boxshadow ? 1 : 0,\r\n\t  &#039;text_geolocation&#039;: Modernizr.geolocation ? 1 : 0,\r\n\t  &#039;text_webgl&#039;: Modernizr.webgl,\r\n\t  &#039;text_width&#039;: screen.width,\r\n\t  &#039;text_height&#039;: screen.height\r\n\t};\r\n\t\r\n\tconsole.log(_bTestResults);\r\n\r\n\tfunction afterBrowserScope()\r\n\t{\r\n\t\tconsole.log(&quot;browserscope was called!&quot;);\r\n\t}\r\n\r\n\t(function(document) {\r\n\t  var newScript = document.createElement(&#039;script&#039;),\r\n              firstScript = document.getElementsByTagName(&#039;script&#039;)[0];\r\n\t  newScript.src = &#039;http:\/\/www.browserscope.org\/user\/beacon\/[test_key]?callback=afterBrowserScope&amp;sandboxid=[sandbox_id]&#039;;\r\n\t  firstScript.parentNode.insertBefore(newScript, firstScript);\r\n\t}(document));\r\n\t&lt;\/script&gt;\r\n\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\t&lt;h1&gt;Browserscope Test&lt;\/h1&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n\r\n<\/pre>\n<p>Duch ersetzen von <i>[test_key]<\/i> bzw. <i>[sandbox_id]<\/i> mit euren eigenen Werten landen die Ergebnisse auch wirklich in eurem Panel. Testweise haben wir hier Modernizr und jQuery eingebunden, was aber zum reinen Betrieb von Browserscope nicht n\u00f6tig ist. Wer m\u00f6chte, kann seinen Benutzern &#8211; die ja gewisserma\u00dfen ohne ihr Wissen an eurem Test teilnehmen &#8211; auch direkt noch eine Auswertung auf der Seite pr\u00e4sentieren, das l\u00e4uft per Einbindung eines Script-Tags irgendwo auf der Seite:<\/p>\n<pre data-enlighter-language=\"html\" class=\"EnlighterJSRAW\">\r\n&lt;script src=&quot;http:\/\/www.browserscope.org\/user\/tests\/table\/[test_key]?o=js&quot;&gt;&lt;\/script&gt;\r\n<\/pre>\n<p>Sieht dann so aus:<\/p>\n<div id=\"attachment_697\" style=\"width: 650px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Auswertung.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-697\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Auswertung-1024x847.png\" alt=\"Browserscope-Auswertung\" title=\"Browserscope-Auswertung\" width=\"640\" height=\"529\" class=\"size-large wp-image-697\" srcset=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Auswertung-1024x847.png 1024w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Auswertung-300x248.png 300w, https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/Browserscope-Auswertung.png 1046w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><p id=\"caption-attachment-697\" class=\"wp-caption-text\">Browserscope-Auswertung<\/p><\/div>\n<p>Nat\u00fcrlich gibt&#8217;s noch zich Abarten, wie man diese Darstellung variieren kann, findet sich alles auf der <a href=\"http:\/\/www.browserscope.org\/user\/tests\/howto\">Howto-Page<\/a> von Browserscope, die ich \u00fcbrigens sehr gelungen finde &#8211; kurz und knapp!<\/p>\n<p>Im Backend von Browserscope selbst gibt es noch alle Ergebnisse als CSV oder JSON zum Weiterverarbeiten sowie eine sch\u00f6ne, tabellarische Auflistung. Wenn mans mal braucht, leistet Browserscope tolle Dienste. Wieder so ein &#8222;Macht genau das was es soll&#8220;-Tool.<\/p>\n<div id=\"attachment_698\" style=\"width: 418px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/JSON-Auswertung.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-698\" src=\"https:\/\/d-mueller.de\/blog\/wp-content\/uploads\/2012\/10\/JSON-Auswertung.png\" alt=\"JSON-Auswertung\" title=\"JSON-Auswertung\" width=\"408\" height=\"857\" class=\"size-full wp-image-698\" \/><\/a><p id=\"caption-attachment-698\" class=\"wp-caption-text\">JSON-Auswertung<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Browserscope is a community-driven project for profiling web browsers. The goals are to foster innovation by tracking browser functionality and to be a resource for web developers. So zumindest der Hersteller. Im Grunde geht&#8217;s darum: Ich packe mir ein kleines &hellip; <a href=\"https:\/\/d-mueller.de\/blog\/browserscope\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,3],"tags":[],"class_list":["post-694","post","type-post","status-publish","format-standard","hentry","category-javascript","category-webdev"],"_links":{"self":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts\/694","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/comments?post=694"}],"version-history":[{"count":0,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/posts\/694\/revisions"}],"wp:attachment":[{"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/media?parent=694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/categories?post=694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/d-mueller.de\/blog\/wp-json\/wp\/v2\/tags?post=694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}