摘要:是可以在的源面板中創建和執行的小腳本。通過在和屬性的末尾添加來覆蓋所有鏈接和可選腳本標記。默認情況下,不執行處理腳本,應將變量更改為以運行這些腳本。在一個不錯的表中顯示所有表單元素及其值和類型。使用和分組來組織信息。
Snippets是可以在Chrome DevTools的“源”面板中創建和執行的小腳本。 您可以從任何頁面訪問和運行它們。 當您運行代碼段時,它會從當前打開的頁面的上下文執行。顯示所有元素的邊框,看頁面布局非常方便
[].forEach.call($$("*"),function(a){
a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)
});
allcolors.js
從頁面上的元素中使用的計算樣式打印所有顏色。 使用樣式化的console.log調用來可視化每種顏色。
// allcolors.js
// https://github.com/bgrins/devtools-snippets
// Print out CSS colors used in elements on the page.
(function () {
// Should include colors from elements that have a border color but have a zero width?
var includeBorderColorsWithZeroWidth = false;
var allColors = {};
var props = ["background-color", "color", "border-top-color", "border-right-color", "border-bottom-color", "border-left-color"];
var skipColors = {
"rgb(0, 0, 0)": 1,
"rgba(0, 0, 0, 0)": 1,
"rgb(255, 255, 255)": 1
};
[].forEach.call(document.querySelectorAll("*"), function (node) {
var nodeColors = {};
props.forEach(function (prop) {
var color = window.getComputedStyle(node, null).getPropertyValue(prop),
thisIsABorderProperty = (prop.indexOf("border") != -1),
notBorderZero = thisIsABorderProperty ? window.getComputedStyle(node, null).getPropertyValue(prop.replace("color", "width")) !== "0px" : true,
colorConditionsMet;
if (includeBorderColorsWithZeroWidth) {
colorConditionsMet = color && !skipColors[color];
} else {
colorConditionsMet = color && !skipColors[color] && notBorderZero;
}
if (colorConditionsMet) {
if (!allColors[color]) {
allColors[color] = {
count: 0,
nodes: []
};
}
if (!nodeColors[color]) {
allColors[color].count++;
allColors[color].nodes.push(node);
}
nodeColors[color] = true;
}
});
});
function rgbTextToRgbArray(rgbText) {
return rgbText.replace(/s/g, "").match(/d+,d+,d+/)[0].split(",").map(function(num) {
return parseInt(num, 10);
});
}
function componentToHex(c) {
var hex = c.toString(16);
return hex.length == 1 ? "0" + hex : hex;
}
function rgbToHex(rgbArray) {
var r = rgbArray[0],
g = rgbArray[1],
b = rgbArray[2];
return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}
var allColorsSorted = [];
for (var i in allColors) {
var rgbArray = rgbTextToRgbArray(i);
var hexValue = rgbToHex(rgbArray);
allColorsSorted.push({
key: i,
value: allColors[i],
hexValue: hexValue
});
}
allColorsSorted = allColorsSorted.sort(function (a, b) {
return b.value.count - a.value.count;
});
var nameStyle = "font-weight:normal;";
var countStyle = "font-weight:bold;";
function colorStyle(color) {
return "background:" + color + ";color:" + color + ";border:1px solid #333;";
};
console.group("Total colors used in elements on the page: " + window.location.href + " are " + allColorsSorted.length);
allColorsSorted.forEach(function (c) {
console.groupCollapsed("%c %c " + c.key + " " + c.hexValue + " %c(" + c.value.count + " times)",
colorStyle(c.key), nameStyle, countStyle);
c.value.nodes.forEach(function (node) {
console.log(node);
});
console.groupEnd();
});
console.groupEnd("All colors used in elements on the page");
})();
cachebuster.js
通過在href和src屬性的末尾添加Date.now()來覆蓋所有鏈接和(可選)腳本標記。 默認情況下,不執行處理腳本,應將變量process_scripts更改為true以運行這些腳本。
//Cache Buster
(function (){
var rep = /.*?.*/,
links = document.getElementsByTagName("link"),
scripts = document.getElementsByTagName("script"),
process_scripts = false;
for (var i=0;i
console-save.js
從控制臺將對象保存為.json文件的簡單方法包括一個chrome擴展和一個純文本。
console.save(data, [filename])
(function(console){
console.save = function(data, filename){
if(!data) {
console.error("Console.save: No data")
return;
}
if(!filename) filename = "console.json"
if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: "text/json"}),
e = document.createEvent("MouseEvents"),
a = document.createElement("a")
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ["text/json", a.download, a.href].join(":")
e.initMouseEvent("click", true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
}
})(console)
formcontrols.js
在一個不錯的表中顯示所有html表單元素及其值和類型。 在頁面上為每個表單添加一個新表
// formcontrols.js
// https://github.com/bgrins/devtools-snippets
// Print out forms and their controls
(function() {
var forms = document.querySelectorAll("form");
for (var i = 0, len = forms.length; i < len; i++) {
var tab = [ ];
console.group("HTMLForm quot;" + forms[i].name + "quot;: " + forms[i].action);
console.log("Element:", forms[i], "
Name: "+forms[i].name+"
Method: "+forms[i].method.toUpperCase()+"
Action: "+forms[i].action || "null");
["input", "textarea", "select"].forEach(function (control) {
[].forEach.call(forms[i].querySelectorAll(control), function (node) {
tab.push({
"Element": node,
"Type": node.type,
"Name": node.name,
"Value": node.value,
"Pretty Value": (isNaN(node.value) || node.value === "" ? node.value : parseFloat(node.value))
});
});
});
console.table(tab);
console.groupEnd();
}
})();
log-globals.js
打印全局變量
*
log-globals
by Sindre Sorhus
https://github.com/sindresorhus/log-globals
MIT License
*/
(function () {
"use strict";
function getIframe() {
var el = document.createElement("iframe");
el.style.display = "none";
document.body.appendChild(el);
var win = el.contentWindow;
document.body.removeChild(el);
return win;
}
function detectGlobals() {
var iframe = getIframe();
var ret = Object.create(null);
for (var prop in window) {
if (!(prop in iframe)) {
ret[prop] = window[prop];
}
}
return ret;
}
console.log(detectGlobals());
})();
performance.js
打印有關window.performance對象的信息。 使用console.table和分組來組織信息。
// performance.js
// https://github.com/bgrins/devtools-snippets
// Print out window.performance information.
// https://developer.mozilla.org/en-US/docs/Navigation_timing
(function () {
var t = window.performance.timing;
var lt = window.chrome && window.chrome.loadTimes && window.chrome.loadTimes();
var timings = [];
timings.push({
label: "Time Until Page Loaded",
time: t.loadEventEnd - t.navigationStart + "ms"
});
timings.push({
label: "Time Until DOMContentLoaded",
time: t.domContentLoadedEventEnd - t.navigationStart + "ms"
});
timings.push({
label: "Total Response Time",
time: t.responseEnd - t.requestStart + "ms"
});
timings.push({
label: "Connection",
time: t.connectEnd - t.connectStart + "ms"
});
timings.push({
label: "Response",
time: t.responseEnd - t.responseStart + "ms"
});
timings.push({
label: "Domain Lookup",
time: t.domainLookupEnd - t.domainLookupStart + "ms"
});
timings.push({
label: "Load Event",
time: t.loadEventEnd - t.loadEventStart + "ms"
});
timings.push({
label: "Unload Event",
time: t.unloadEventEnd - t.unloadEventStart + "ms"
});
timings.push({
label: "DOMContentLoaded Event",
time: t.domContentLoadedEventEnd - t.domContentLoadedEventStart + "ms"
});
if(lt) {
if(lt.wasNpnNegotiated) {
timings.push({
label: "NPN negotiation protocol",
time: lt.npnNegotiatedProtocol
});
}
timings.push({
label: "Connection Info",
time: lt.connectionInfo
});
timings.push({
label: "First paint after Document load",
time: Math.ceil(lt.firstPaintTime - lt.finishDocumentLoadTime) + "ms"
});
}
var navigation = window.performance.navigation;
var navigationTypes = { };
navigationTypes[navigation.TYPE_NAVIGATENEXT || 0] = "Navigation started by clicking on a link, or entering the URL in the user agent"s address bar, or form submission.",
navigationTypes[navigation.TYPE_RELOAD] = "Navigation through the reload operation or the location.reload() method.",
navigationTypes[navigation.TYPE_BACK_FORWARD] = "Navigation through a history traversal operation.",
navigationTypes[navigation.TYPE_UNDEFINED] = "Navigation type is undefined.",
console.group("window.performance");
console.log(window.performance);
console.group("Navigation Information");
console.log(navigationTypes[navigation.type]);
console.log("Number of redirects that have taken place: ", navigation.redirectCount)
console.groupEnd("Navigation Information");
console.group("Timing");
console.log(window.performance.timing);
console.table(timings, ["label", "time"]);
console.groupEnd("Timing");
console.groupEnd("window.performance");
})();
更多有意思的:http://bgrins.github.io/devto...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.hztianpu.com/yun/116497.html
摘要:是可以在的源面板中創建和執行的小腳本。通過在和屬性的末尾添加來覆蓋所有鏈接和可選腳本標記。默認情況下,不執行處理腳本,應將變量更改為以運行這些腳本。在一個不錯的表中顯示所有表單元素及其值和類型。使用和分組來組織信息。 Snippets是可以在Chrome DevTools的源面板中創建和執行的小腳本。 您可以從任何頁面訪問和運行它們。 當您運行代碼段時,它會從當前打開的頁面的上下文執行...
摘要:是可以在的源面板中創建和執行的小腳本。通過在和屬性的末尾添加來覆蓋所有鏈接和可選腳本標記。默認情況下,不執行處理腳本,應將變量更改為以運行這些腳本。在一個不錯的表中顯示所有表單元素及其值和類型。使用和分組來組織信息。 Snippets是可以在Chrome DevTools的源面板中創建和執行的小腳本。 您可以從任何頁面訪問和運行它們。 當您運行代碼段時,它會從當前打開的頁面的上下文執行...
摘要:雖然已經成為了云領域的容器技術之王,但一個新的挑戰者已經出現了。擁有一套集群來連接其他的集群服務,例如以及亞馬遜的容器服務等。也對有著同樣的關注,后者是谷歌的開源容器管理器。微軟公司于近期實施了,這是企業應用容器技術的一個共同選擇。 雖然Docker已經成為了云領域的容器技術之王,但一個新的挑戰者已經出現了。專家David Linthicum針對這一競爭進行了分析。隨著新的一輪競爭開始,容器...
摘要:現為谷歌軟件工程師。盡管存在這兩個問題,目前仍是最常用的,在搭建人工神經網絡的時候推薦優先嘗試函數人們為了解決,提出了將的前半段設為而非。 夏飛,清華大學計算機軟件學士,卡內基梅隆大學人工智能碩士。現為谷歌軟件工程師。TLDR (or the take-away)優先使用ReLU (Rectified Linear Unit) 函數作為神經元的activation function:背景深度...
摘要:外貿虛擬主機推薦進入官網已經將對的熱情轉化為您網站最快最簡單的管理平臺。進入官網已致力于及其社區超過年。阿里云虛擬主機根據不同配置情況不同成本價格,有北京杭州深圳香港美國等機房可以選擇。外貿用wordpress建站怎么樣?wordpress搭建外貿網站可以嗎?用wordpress搭建了個機加工外貿網站是可以的,如果你要的建設的是一個外貿網站,并想用這個網站去做谷歌推廣,那么,我建議大家一定選...
閱讀 2267·2023-04-25 23:30
閱讀 1702·2021-11-24 10:18
閱讀 3322·2021-10-09 09:54
閱讀 2257·2021-10-08 10:05
閱讀 3716·2021-09-23 11:21
閱讀 3374·2019-08-30 15:52
閱讀 1791·2019-08-30 13:05
閱讀 1283·2019-08-30 13:02