{"id":192902,"date":"2013-09-07T16:32:02","date_gmt":"2013-09-07T12:32:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=192902"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=192902","title":{"rendered":"<span class=\"post_title\">\u0421\u043d\u0438\u043f\u043f\u0435\u0442\u044b \u0434\u043b\u044f Chrome DevTools<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 Chrome Developer Tools \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432. \u042d\u0442\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0425\u043e\u0440\u043e\u0448\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u0435\u0441\u0442\u044c <a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/\">\u043d\u0430 GitHub&#8217;\u0435<\/a>.<\/p>\n<h4>\u0421\u043d\u0438\u043f\u043f\u0435\u0442\u044b \u0432 Google Chrome<\/h4>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 <a href=\"https:\/\/developers.google.com\/chrome-developer-tools\/docs\/authoring-development-workflow#snippets\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Chrome<\/a>. \u0410 \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f:<\/p>\n<ol>\n<li>\u0417\u0430\u0439\u0442\u0438 \u0432 \u00abchrome:\/\/flags\u00bb \u2014 \u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u00abEnable Developer Tools experiments\u00bb.<\/li>\n<li>\u041e\u0442\u043a\u0440\u044b\u0442\u044c DevTools: \u00abSettings\u00bb \u2014 \u00abDeveloper Tools Experiments\u00bb \u2014 \u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u00abSnippets support\u00bb.<\/li>\n<li>\u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 DevTools \u00abSources\u00bb \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u00abSnippets\u00bb, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430\u043c\u0438:<\/li>\n<\/ol>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/80c\/bd6\/e29\/80cbd6e293a41c99759f592bc0783234.jpg\" alt=\"image\"\/><a name=\"habracut\"><\/a><\/p>\n<h4>\u0421\u043d\u0438\u043f\u043f\u0435\u0442\u044b \u0432 Firefox<\/h4>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u0438 \u0432 Firefox:<\/p>\n<ol>\n<li>\u041c\u0435\u043d\u044e \u00abTools\u00bb \u2014 \u00abWeb Developer\u00bb \u2014 \u00abScratchpad\u00bb.<\/li>\n<li>\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u044b \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c (Cmd-R \/ Ctrl-R).<\/li>\n<li>\u041c\u0435\u043d\u044e \u00abFile\u00bb-\u00abSave\u00bb, \u0437\u0430\u0442\u0435\u043c \u00abFile\u00bb-\u00abOpen Recent\u00bb \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/li>\n<\/ol>\n<p>  <\/p>\n<h4><a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/snippets\/jquerify.js\">JQuerify.js<\/a><\/h4>\n<p>  \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 jQuery \u0442\u0430\u043c, \u0433\u0434\u0435 \u0435\u0435 \u043d\u0435\u0442.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">(function () {    if ( !window.jQuery ) {     var s = document.createElement('script');     s.setAttribute('src', '\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/2.0.3\/jquery.min.js');     document.body.appendChild(s);     console.log('jquery loaded!');   }  })(); <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/c08\/85a\/a8a\/c0885aa8a88fffc9a256f65f902e1df1.png\" alt=\"image\"\/><\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u0438 \u0441\u0430\u043c\u0438 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u044b:<\/p>\n<h4><a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/snippets\/allcolors.js\">Allcolors.js<\/a><\/h4>\n<p>  \u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0446\u0432\u0435\u0442\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0432 color, background-color, and border-color.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">(function () {   var allColors = {};   var props = [&quot;background-color&quot;, &quot;color&quot;, &quot;border-top-color&quot;, &quot;border-right-color&quot;, &quot;border-bottom-color&quot;, &quot;border-left-color&quot;];   var skipColors = { &quot;rgb(0, 0, 0)&quot;: 1, &quot;rgba(0, 0, 0, 0)&quot;: 1, &quot;rgb(255, 255, 255)&quot;: 1 };    [].forEach.call(document.querySelectorAll(&quot;*&quot;), function (node) {     var nodeColors = {};     props.forEach(function (prop) {       var color = window.getComputedStyle(node, null).getPropertyValue(prop);       if (color && !skipColors[color]) {         if (!allColors[color]) {           allColors[color] = {             count: 0,             nodes: []           };         }         if (!nodeColors[color]) {           allColors[color].count++;           allColors[color].nodes.push(node);         }         nodeColors[color] = true;       }     });   });    var allColorsSorted = [];   for (var i in allColors) {     allColorsSorted.push({       key: i,       value: allColors[i]     });   }   allColorsSorted = allColorsSorted.sort(function (a, b) {     return b.value.count - a.value.count;   });    var nameStyle = &quot;font-weight:normal;&quot;;   var countStyle = &quot;font-weight:bold;&quot;;   var colorStyle = function (color) {     return &quot;background:&quot; + color + &quot;;color:&quot; + color + &quot;;border:1px solid #333;&quot;;   };    console.group(&quot;All colors used in elements on the page&quot;);   allColorsSorted.forEach(function (c) {     console.groupCollapsed(&quot;%c    %c &quot; + c.key + &quot; %c(&quot; + c.value.count + &quot; times)&quot;,       colorStyle(c.key), nameStyle, countStyle);     c.value.nodes.forEach(function (node) {       console.log(node);     });     console.groupEnd();   });   console.groupEnd(&quot;All colors used in elements on the page&quot;); })(); <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/0f8\/e05\/68d\/0f8e0568d3d521677889eeb2d4d2e4a4.png\" alt=\"image\"\/><\/p>\n<h4><a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/snippets\/showheaders.js\">Showheaders.js<\/a><\/h4>\n<p>  \u0423\u0434\u043e\u0431\u043d\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 HTTP \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f console.table.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">(function() {    var request=new XMLHttpRequest();   request.open('HEAD',window.location,false);   request.send(null);    var headers = request.getAllResponseHeaders();   var tab = headers.split(&quot;\\n&quot;).map(function(h) {     return { &quot;Key&quot;: h.split(&quot;: &quot;)[0], &quot;Value&quot;: h.split(&quot;: &quot;)[1] }   }).filter(function(h) { return h.Value !== undefined; });    console.group(&quot;Request Headers&quot;);   console.log(headers);   console.table(tab);   console.groupEnd(&quot;Request Headers&quot;);  })(); <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/3ae\/7c4\/cda\/3ae7c4cda8db12b087c86f92416d6e6b.png\" alt=\"image\"\/><\/p>\n<h4><a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/snippets\/dataurl.js\">Dataurl.js<\/a><\/h4>\n<p>  \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0432 Data URL (\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445 \u0432 \u0442\u043e\u043c \u0436\u0435 \u0434\u043e\u043c\u0435\u043d\u0435, \u0447\u0442\u043e \u0438 \u0441\u0430\u0439\u0442).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">(function() {    console.group(&quot;Data URLs&quot;);    [].forEach.call(document.querySelectorAll(&quot;img&quot;), function(i) {     var c = document.createElement(&quot;canvas&quot;);     var ctx = c.getContext(&quot;2d&quot;);     c.width = i.width;     c.height = i.height;      try {       ctx.drawImage(i, 0, 0);       console.log(i, c.toDataURL());     }     catch(e) {       console.log(i, &quot;No Permission - try opening this image in a new tab and running the snippet again?&quot;, i.src);     }   });    [].forEach.call(document.querySelectorAll(&quot;canvas&quot;), function(c) {     try {       console.log(c, c.toDataURL());     }     catch(e) {       console.log(c, &quot;No Permission&quot;);     }   });    console.groupEnd(&quot;Data URLs&quot;);  })(); <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/ae1\/924\/36d\/ae192436d4f7a17ddeec84c7fb2c03a4.png\" alt=\"image\"\/><\/p>\n<h4><a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/snippets\/performance.js\">Performance.js<\/a><\/h4>\n<p>  \u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Navigation_timing\">window.performance object<\/a>.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">(function () {    var t = window.performance.timing;   var timings = [];    timings.push({     label: &quot;Time Until Page Loaded&quot;,     time: t.loadEventEnd - t.navigationStart + &quot;ms&quot;   });   timings.push({     label: &quot;Time Until DOMContentLoaded&quot;,     time: t.domContentLoadedEventEnd - t.navigationStart + &quot;ms&quot;   });   timings.push({     label: &quot;Total Response Time&quot;,     time: t.responseEnd - t.requestStart + &quot;ms&quot;   });   timings.push({     label: &quot;Connection&quot;,     time: t.connectEnd - t.connectStart + &quot;ms&quot;   });   timings.push({     label: &quot;Response&quot;,     time: t.responseEnd - t.responseStart + &quot;ms&quot;   });   timings.push({     label: &quot;Domain Lookup&quot;,     time: t.domainLookupEnd - t.domainLookupStart + &quot;ms&quot;   });   timings.push({     label: &quot;Load Event&quot;,     time: t.loadEventEnd - t.loadEventStart + &quot;ms&quot;   });   timings.push({     label: &quot;Unload Event&quot;,     time: t.unloadEventEnd - t.unloadEventStart + &quot;ms&quot;   });   timings.push({     label: &quot;DOMContentLoaded Event&quot;,     time: t.domContentLoadedEventEnd - t.domContentLoadedEventStart + &quot;ms&quot;   });    var navigation = window.performance.navigation;   var navigationTypes = { };   navigationTypes[navigation.TYPE_NAVIGATENEXT || 0] = &quot;Navigation started by clicking on a link, or entering the URL in the user agent's address bar, or form submission.&quot;,   navigationTypes[navigation.TYPE_RELOAD] = &quot;Navigation through the reload operation or the location.reload() method.&quot;,   navigationTypes[navigation.TYPE_BACK_FORWARD] = &quot;Navigation through a history traversal operation.&quot;,   navigationTypes[navigation.TYPE_UNDEFINED] = &quot;Navigation type is undefined.&quot;,    console.group(&quot;window.performance&quot;);    console.log(window.performance);    console.group(&quot;Navigation Information&quot;);   console.log(navigationTypes[navigation.type]);   console.log(&quot;Number of redirects that have taken place: &quot;, navigation.redirectCount)   console.groupEnd(&quot;Navigation Information&quot;);    console.group(&quot;Timing&quot;);   console.log(window.performance.timing);   console.table(timings);   console.groupEnd(&quot;Timing&quot;);    console.groupEnd(&quot;window.performance&quot;);  })(); <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/bd9\/9a3\/ae2\/bd99a3ae2df0a76500aaa43622681e71.png\" alt=\"image\"\/><\/p>\n<h4><a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/snippets\/formcontrols.js\">Formcontrols.js<\/a><\/h4>\n<p>  \u0412\u044b\u0432\u043e\u0434\u0438\u0442 \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u0441\u0435\u0445 \u0444\u043e\u0440\u043c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">(function() {    var forms = document.querySelectorAll(&quot;form&quot;);    for (var i = 0, len = forms.length; i &lt; len; i++) {     var tab = [ ];      console.group(&quot;HTMLForm \\&quot;&quot; + forms[i].name + &quot;\\&quot;: &quot; + forms[i].action);     console.log(&quot;Element:&quot;, forms[i], &quot;\\nName:    &quot;+forms[i].name+&quot;\\nMethod:  &quot;+forms[i].method.toUpperCase()+&quot;\\nAction:  &quot;+forms[i].action || &quot;null&quot;);      [&quot;input&quot;, &quot;textarea&quot;, &quot;select&quot;].forEach(function (control) {       [].forEach.call(forms[i].querySelectorAll(control), function (node) {         tab.push({           &quot;Element&quot;: node,           &quot;Type&quot;: node.type,           &quot;Name&quot;: node.name,           &quot;Value&quot;: node.value,           &quot;Pretty Value&quot;: (isNaN(node.value) || node.value === &quot;&quot; ? node.value : parseFloat(node.value))         });       });     });      console.table(tab);     console.groupEnd();   } })(); <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/c1d\/35e\/4c5\/c1d35e4c57d030ca7d29dc9ed9b92343.png\" alt=\"image\"\/><\/p>\n<p>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435, \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u044b, \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 <a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/\">\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 GitHub<\/a>.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/192902\/\"> http:\/\/habrahabr.ru\/post\/192902\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 Chrome Developer Tools \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432. \u042d\u0442\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0438 \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0425\u043e\u0440\u043e\u0448\u0430\u044f \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u0435\u0441\u0442\u044c <a href=\"http:\/\/bgrins.github.io\/devtools-snippets\/\">\u043d\u0430 GitHub&#8217;\u0435<\/a>.<\/p>\n<h4>\u0421\u043d\u0438\u043f\u043f\u0435\u0442\u044b \u0432 Google Chrome<\/h4>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u0445 \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 <a href=\"https:\/\/developers.google.com\/chrome-developer-tools\/docs\/authoring-development-workflow#snippets\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Chrome<\/a>. \u0410 \u0432\u043e\u0442 \u043a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f:<\/p>\n<ol>\n<li>\u0417\u0430\u0439\u0442\u0438 \u0432 \u00abchrome:\/\/flags\u00bb \u2014 \u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u00abEnable Developer Tools experiments\u00bb.<\/li>\n<li>\u041e\u0442\u043a\u0440\u044b\u0442\u044c DevTools: \u00abSettings\u00bb \u2014 \u00abDeveloper Tools Experiments\u00bb \u2014 \u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u00abSnippets support\u00bb.<\/li>\n<li>\u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e \u0432\u043a\u043b\u0430\u0434\u043a\u0435 DevTools \u00abSources\u00bb \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u00abSnippets\u00bb, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043d\u0438\u043f\u043f\u0435\u0442\u0430\u043c\u0438:<\/li>\n<\/ol>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/80c\/bd6\/e29\/80cbd6e293a41c99759f592bc0783234.jpg\" alt=\"image\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-192902","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/192902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=192902"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/192902\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=192902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=192902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=192902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}