Diff
checker
टेक्स्ट
टेक्स्ट
छवियां
दस्तावेज़
Excel
फ़ोल्डर्स
Legal
Enterprise
डेस्कटॉप
मूल्य
साइन इन करें
Diffchecker डेस्कटॉप डाउनलोड करें
टेक्स्ट की तुलना करें
दो टेक्स्ट फ़ाइलों के बीच अंतर ढूंढें
उपकरण
इतिहास
रियल-टाइम एडिटर
अपरिवर्तित संक्षिप्त करें
लाइन रैप बंद
लेआउट
विभाजित
संयुक्त
परिवर्तन हाइलाइट करें
स्मार्ट
शब्द
अक्षर
सिंटैक्स हाइलाइटिंग
सिंटैक्स चुनें
अनदेखा करें
टेक्स्ट बदलें
पहले अंतर पर जाएँ
इनपुट संपादित करें
Diffchecker Desktop
Diffchecker चलाने का सबसे सुरक्षित तरीका। Diffchecker Desktop ऐप पाएं: आपके diffs कभी आपके कंप्यूटर से बाहर नहीं जाते!
Desktop पाएं
Untitled Diff
बनाया गया
4 वर्ष पहले
Diff कभी समाप्त नहीं होता
साफ़
निर्यात करें
शेयर करें
समझाएं
53 हटाए गए
लाइनें
कुल
हटाया गया
अक्षर
कुल
हटाया गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
266 लाइनें
सभी को कॉपी करें
4 जोड़े गए
लाइनें
कुल
जोड़ा गया
अक्षर
कुल
जोड़ा गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
222 लाइनें
सभी को कॉपी करें
<!DOCTYPE html>
<!DOCTYPE html>
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
<html>
<html>
<head>
<head>
<meta charset="UTF-8">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
<title>
Waking up ・゚✧
</title>
<title>
Draw, draw, draw!
</title>
<noscript>
<meta http-equiv="refresh" content="1">
</noscript>
<style>
<style>
* {
* {
box-sizing: border-box;
box-sizing: border-box;
}
}
body {
body {
background-color: white;
background-color: white;
font-family: "Benton Sans", "Helvetica Neue", helvetica, arial, sans-serif;
font-family: "Benton Sans", "Helvetica Neue", helvetica, arial, sans-serif;
}
}
main {
main {
padding: 1rem;
padding: 1rem;
}
}
p {
p {
max-width: 500px
max-width: 500px
}
}
.note{
.note{
font-size: small;
font-size: small;
color: #9B9B9B;
color: #9B9B9B;
}
}
.content{
.content{
margin: 50px;
margin: 50px;
position: fixed;
position: fixed;
}
}
#loader:after {
#loader:after {
overflow: hidden;
overflow: hidden;
display: inline-block;
display: inline-block;
vertical-align: bottom;
vertical-align: bottom;
animation: ellipsis steps(4,end) 1000ms infinite;
animation: ellipsis steps(4,end) 1000ms infinite;
content: "\2026";
content: "\2026";
width: 0px;
width: 0px;
}
}
@keyframes ellipsis {
@keyframes ellipsis {
to {
to {
width: 1.25em
width: 1.25em
}
}
}
}
canvas#background {
canvas#background {
position: fixed;
position: fixed;
height: 100%;
height: 100%;
width: 100%;
width: 100%;
top: 0;
top: 0;
left: 0;
left: 0;
z-index: -1;
z-index: -1;
}
}
</style>
</style>
</head>
</head>
<body>
<body>
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
<main>
<canvas id="background"
width="603" height="601"
>
<div class="content">
<p class="status">
<span id="message">Waking up</span>
<span id="loader" ></span>
</p>
<p class="note">
To keep Glitch fast for everyone, inactive projects go to sleep and wake up on request.
</p>
</div>
</main>
<canvas id="background"
/
>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js"></script>
<script>
<script>
// drawing
// drawing
var canvas, context, canvasImage;
var canvas, context, canvasImage;
var cursorPosition = {
var cursorPosition = {
x: undefined,
x: undefined,
y: undefined,
y: undefined,
};
};
var color = '#e5e5e5';
var color = '#e5e5e5';
var size = 30;
var size = 30;
function randomColor() {
function randomColor() {
var colors = [
var colors = [
'#fcd1c4',
'#fcd1c4',
'#abfcec',
'#abfcec',
'#a3d9e1',
'#a3d9e1',
'#fbbfff',
'#fbbfff',
'#a9ef8f',
'#a9ef8f',
'#fff0b2',
'#fff0b2',
'#fff0b2',
'#fff0b2',
];
];
color = colors[Math.floor(Math.random() * colors.length)];
color = colors[Math.floor(Math.random() * colors.length)];
}
}
function throttle(ms, fn) {
function throttle(ms, fn) {
var lastCallTime;
var lastCallTime;
return function () {
return function () {
var now = Date.now();
var now = Date.now();
if (!lastCallTime || now - lastCallTime > ms) {
if (!lastCallTime || now - lastCallTime > ms) {
lastCallTime = now;
lastCallTime = now;
fn.apply(this, arguments);
fn.apply(this, arguments);
}
}
}
}
}
}
function drawCircle(event) {
function drawCircle(event) {
context.beginPath();
context.beginPath();
context.arc(cursorPosition.x, cursorPosition.y, size, 0, 2 * Math.PI);
context.arc(cursorPosition.x, cursorPosition.y, size, 0, 2 * Math.PI);
context.closePath();
context.closePath();
context.fillStyle = color;
context.fillStyle = color;
context.fill();
context.fill();
canvasImage = context.getImageData(0, 0, window.innerWidth, window.innerHeight);
canvasImage = context.getImageData(0, 0, window.innerWidth, window.innerHeight);
}
}
window.onload = function () {
window.onload = function () {
randomColor();
randomColor();
canvas = document.getElementById('background');
canvas = document.getElementById('background');
canvas.width = window.innerWidth;
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
canvas.height = window.innerHeight;
context = canvas.getContext('2d');
context = canvas.getContext('2d');
window.onresize = throttle(100, function () {
window.onresize = throttle(100, function () {
canvas.width = window.innerWidth;
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
canvas.height = window.innerHeight;
context.clearRect(0,0, window.innerWidth, window.innerHeight);
context.clearRect(0,0, window.innerWidth, window.innerHeight);
canvasImage && context.putImageData(canvasImage, 0, 0);
canvasImage && context.putImageData(canvasImage, 0, 0);
});
});
window.onmousemove = throttle(10, function (event) {
window.onmousemove = throttle(10, function (event) {
cursorPosition = {
cursorPosition = {
x: event.clientX,
x: event.clientX,
y: event.clientY,
y: event.clientY,
};
};
drawCircle(event);
drawCircle(event);
});
});
window.ontouchmove = throttle(10, function (event) {
window.ontouchmove = throttle(10, function (event) {
cursorPosition = {
cursorPosition = {
x: event.touches[0].clientX,
x: event.touches[0].clientX,
y: event.touches[0].clientY,
y: event.touches[0].clientY,
};
};
drawCircle(event);
drawCircle(event);
});
});
}
}
</script>
</script>
<script>
<script>
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
// container status updates
setTimeout(function () {
function reloadAfterDelay(delay) {
delay = delay || 1000;
return setTimeout(function () {
window.location.reload(true);
}, delay);
}
// Either check that the container is ready and resolve with `true` or
// Either check that the container is ready and resolve with `true` or
// false (when enabled because we are expecting multiple "listening"
// false (when enabled because we are expecting multiple "listening"
// messages) or just resolve `true` (when we aren't).
// messages) or just resolve `true` (when we aren't).
function checkReady(enabled = false) {
function checkReady(enabled = false) {
if (enabled) {
if (enabled) {
return fetch('/.glitch/ready').then(function (response) {
return fetch('/.glitch/ready').then(function (response) {
return response.json();
return response.json();
});
});
} else {
} else {
return Promise.resolve(true);
return Promise.resolve(true);
}
}
}
}
try {
try {
var isValidBrowser = bowser.check({
var isValidBrowser = bowser.check({
ios: "7",
ios: "7",
msie: "10",
msie: "10",
android: "4.4",
android: "4.4",
chrome: "16",
chrome: "16",
firefox: "11",
firefox: "11",
});
});
if (!isValidBrowser) {
if (!isValidBrowser) {
throw new Error("Jump to refresh");
throw new Error("Jump to refresh");
}
}
var initialReloadHandler = reloadAfterDelay(5000);
var initialReloadHandler = reloadAfterDelay(5000);
var ws = new WebSocket("wss://" + document.location.hostname + "/___glitch_loading_status___");
var ws = new WebSocket("wss://" + document.location.hostname + "/___glitch_loading_status___");
ws.onmessage = updateContainerStatus;
ws.onmessage = updateContainerStatus;
ws.onerror = reloadAfterDelay;
ws.onerror = reloadAfterDelay;
ws.onopen = function () {
ws.onopen = function () {
clearTimeout(initialReloadHandler);
clearTimeout(initialReloadHandler);
setInterval(function () {
setInterval(function () {
ws.send("keepalive");
ws.send("keepalive");
}, 15000);
}, 15000);
};
};
ws.onclose = function () {
ws.onclose = function () {
reloadAfterDelay(1000);
reloadAfterDelay(1000);
};
};
function updateContainerStatus(event) {
function updateContainerStatus(event) {
try {
try {
// Interpolate into a string even though an unquoted `true` or `false`
// Interpolate into a string even though an unquoted `true` or `false`
// would be okay, just in case we get something weird.
// would be okay, just in case we get something weird.
var readyCheck = "false" === "true";
var readyCheck = "false" === "true";
var data = JSON.parse(event.data);
var data = JSON.parse(event.data);
var message = document.getElementById('message')
var message = document.getElementById('message')
var text = "";
var text = "";
switch (data.text) {
switch (data.text) {
case "initialize":
case "initialize":
text = "Waking up";
text = "Waking up";
break;
break;
case "install":
case "install":
text = "Preparing";
text = "Preparing";
break;
break;
case "restart":
case "restart":
text = "Starting";
text = "Starting";
break;
break;
case "listening":
case "listening":
// In cases of multiple "listening" messages, this might only
// In cases of multiple "listening" messages, this might only
// be the first one. We're going to rely on `checkReady` for
// be the first one. We're going to rely on `checkReady` for
// the final answer, so don't report "Ready" until that comes
// the final answer, so don't report "Ready" until that comes
// back `true`.
// back `true`.
text = readyCheck ? "Starting" : "Ready";
text = readyCheck ? "Starting" : "Ready";
break;
break;
default:
default:
return;
return;
}
}
message.innerHTML = text;
message.innerHTML = text;
document.title = text + " ・゚✧";
document.title = text + " ・゚✧";
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
if (data.text === 'listening') {
// Check that the container is ready before reloading in case
// of multiple things sending `listening` messages.
checkReady(readyCheck).then(function (ready) {
if (ready) {
// We may have already set this if `readyCheck` is `false`,
// but that's fine.
message.innerHTML = "Ready";
document.title = text + " ・゚✧";
window.location.reload(true);
}
}).catch((e) => {
reloadAfterDelay();
});
}
} catch (e) {
reloadAfterDelay();
}
}
} catch (e) {
reloadAfterDelay();
}
}, 0);
</script>
</script>
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
</body>
</html>
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
</canvas></body></html>
सेव किए गए Diffs
ऑरिजनल टेक्स्ट
फ़ाइल खोलें
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Waking up ・゚✧</title> <noscript> <meta http-equiv="refresh" content="1"> </noscript> <style> * { box-sizing: border-box; } body { background-color: white; font-family: "Benton Sans", "Helvetica Neue", helvetica, arial, sans-serif; } main { padding: 1rem; } p { max-width: 500px } .note{ font-size: small; color: #9B9B9B; } .content{ margin: 50px; position: fixed; } #loader:after { overflow: hidden; display: inline-block; vertical-align: bottom; animation: ellipsis steps(4,end) 1000ms infinite; content: "\2026"; width: 0px; } @keyframes ellipsis { to { width: 1.25em } } canvas#background { position: fixed; height: 100%; width: 100%; top: 0; left: 0; z-index: -1; } </style> </head> <body> <main> <div class="content"> <p class="status"> <span id="message">Waking up</span> <span id="loader" ></span> </p> <p class="note"> To keep Glitch fast for everyone, inactive projects go to sleep and wake up on request. </p> </div> </main> <canvas id="background"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js"></script> <script> // drawing var canvas, context, canvasImage; var cursorPosition = { x: undefined, y: undefined, }; var color = '#e5e5e5'; var size = 30; function randomColor() { var colors = [ '#fcd1c4', '#abfcec', '#a3d9e1', '#fbbfff', '#a9ef8f', '#fff0b2', '#fff0b2', ]; color = colors[Math.floor(Math.random() * colors.length)]; } function throttle(ms, fn) { var lastCallTime; return function () { var now = Date.now(); if (!lastCallTime || now - lastCallTime > ms) { lastCallTime = now; fn.apply(this, arguments); } } } function drawCircle(event) { context.beginPath(); context.arc(cursorPosition.x, cursorPosition.y, size, 0, 2 * Math.PI); context.closePath(); context.fillStyle = color; context.fill(); canvasImage = context.getImageData(0, 0, window.innerWidth, window.innerHeight); } window.onload = function () { randomColor(); canvas = document.getElementById('background'); canvas.width = window.innerWidth; canvas.height = window.innerHeight; context = canvas.getContext('2d'); window.onresize = throttle(100, function () { canvas.width = window.innerWidth; canvas.height = window.innerHeight; context.clearRect(0,0, window.innerWidth, window.innerHeight); canvasImage && context.putImageData(canvasImage, 0, 0); }); window.onmousemove = throttle(10, function (event) { cursorPosition = { x: event.clientX, y: event.clientY, }; drawCircle(event); }); window.ontouchmove = throttle(10, function (event) { cursorPosition = { x: event.touches[0].clientX, y: event.touches[0].clientY, }; drawCircle(event); }); } </script> <script> // container status updates setTimeout(function () { function reloadAfterDelay(delay) { delay = delay || 1000; return setTimeout(function () { window.location.reload(true); }, delay); } // Either check that the container is ready and resolve with `true` or // false (when enabled because we are expecting multiple "listening" // messages) or just resolve `true` (when we aren't). function checkReady(enabled = false) { if (enabled) { return fetch('/.glitch/ready').then(function (response) { return response.json(); }); } else { return Promise.resolve(true); } } try { var isValidBrowser = bowser.check({ ios: "7", msie: "10", android: "4.4", chrome: "16", firefox: "11", }); if (!isValidBrowser) { throw new Error("Jump to refresh"); } var initialReloadHandler = reloadAfterDelay(5000); var ws = new WebSocket("wss://" + document.location.hostname + "/___glitch_loading_status___"); ws.onmessage = updateContainerStatus; ws.onerror = reloadAfterDelay; ws.onopen = function () { clearTimeout(initialReloadHandler); setInterval(function () { ws.send("keepalive"); }, 15000); }; ws.onclose = function () { reloadAfterDelay(1000); }; function updateContainerStatus(event) { try { // Interpolate into a string even though an unquoted `true` or `false` // would be okay, just in case we get something weird. var readyCheck = "false" === "true"; var data = JSON.parse(event.data); var message = document.getElementById('message') var text = ""; switch (data.text) { case "initialize": text = "Waking up"; break; case "install": text = "Preparing"; break; case "restart": text = "Starting"; break; case "listening": // In cases of multiple "listening" messages, this might only // be the first one. We're going to rely on `checkReady` for // the final answer, so don't report "Ready" until that comes // back `true`. text = readyCheck ? "Starting" : "Ready"; break; default: return; } message.innerHTML = text; document.title = text + " ・゚✧"; if (data.text === 'listening') { // Check that the container is ready before reloading in case // of multiple things sending `listening` messages. checkReady(readyCheck).then(function (ready) { if (ready) { // We may have already set this if `readyCheck` is `false`, // but that's fine. message.innerHTML = "Ready"; document.title = text + " ・゚✧"; window.location.reload(true); } }).catch((e) => { reloadAfterDelay(); }); } } catch (e) { reloadAfterDelay(); } } } catch (e) { reloadAfterDelay(); } }, 0); </script> </body> </html>
परिवर्तित टेक्स्ट
फ़ाइल खोलें
<!DOCTYPE html> <html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Draw, draw, draw!</title> <style> * { box-sizing: border-box; } body { background-color: white; font-family: "Benton Sans", "Helvetica Neue", helvetica, arial, sans-serif; } main { padding: 1rem; } p { max-width: 500px } .note{ font-size: small; color: #9B9B9B; } .content{ margin: 50px; position: fixed; } #loader:after { overflow: hidden; display: inline-block; vertical-align: bottom; animation: ellipsis steps(4,end) 1000ms infinite; content: "\2026"; width: 0px; } @keyframes ellipsis { to { width: 1.25em } } canvas#background { position: fixed; height: 100%; width: 100%; top: 0; left: 0; z-index: -1; } </style> </head> <body> <canvas id="background" width="603" height="601"> <script src="https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js"></script> <script> // drawing var canvas, context, canvasImage; var cursorPosition = { x: undefined, y: undefined, }; var color = '#e5e5e5'; var size = 30; function randomColor() { var colors = [ '#fcd1c4', '#abfcec', '#a3d9e1', '#fbbfff', '#a9ef8f', '#fff0b2', '#fff0b2', ]; color = colors[Math.floor(Math.random() * colors.length)]; } function throttle(ms, fn) { var lastCallTime; return function () { var now = Date.now(); if (!lastCallTime || now - lastCallTime > ms) { lastCallTime = now; fn.apply(this, arguments); } } } function drawCircle(event) { context.beginPath(); context.arc(cursorPosition.x, cursorPosition.y, size, 0, 2 * Math.PI); context.closePath(); context.fillStyle = color; context.fill(); canvasImage = context.getImageData(0, 0, window.innerWidth, window.innerHeight); } window.onload = function () { randomColor(); canvas = document.getElementById('background'); canvas.width = window.innerWidth; canvas.height = window.innerHeight; context = canvas.getContext('2d'); window.onresize = throttle(100, function () { canvas.width = window.innerWidth; canvas.height = window.innerHeight; context.clearRect(0,0, window.innerWidth, window.innerHeight); canvasImage && context.putImageData(canvasImage, 0, 0); }); window.onmousemove = throttle(10, function (event) { cursorPosition = { x: event.clientX, y: event.clientY, }; drawCircle(event); }); window.ontouchmove = throttle(10, function (event) { cursorPosition = { x: event.touches[0].clientX, y: event.touches[0].clientY, }; drawCircle(event); }); } </script> <script> // Either check that the container is ready and resolve with `true` or // false (when enabled because we are expecting multiple "listening" // messages) or just resolve `true` (when we aren't). function checkReady(enabled = false) { if (enabled) { return fetch('/.glitch/ready').then(function (response) { return response.json(); }); } else { return Promise.resolve(true); } } try { var isValidBrowser = bowser.check({ ios: "7", msie: "10", android: "4.4", chrome: "16", firefox: "11", }); if (!isValidBrowser) { throw new Error("Jump to refresh"); } var initialReloadHandler = reloadAfterDelay(5000); var ws = new WebSocket("wss://" + document.location.hostname + "/___glitch_loading_status___"); ws.onmessage = updateContainerStatus; ws.onerror = reloadAfterDelay; ws.onopen = function () { clearTimeout(initialReloadHandler); setInterval(function () { ws.send("keepalive"); }, 15000); }; ws.onclose = function () { reloadAfterDelay(1000); }; function updateContainerStatus(event) { try { // Interpolate into a string even though an unquoted `true` or `false` // would be okay, just in case we get something weird. var readyCheck = "false" === "true"; var data = JSON.parse(event.data); var message = document.getElementById('message') var text = ""; switch (data.text) { case "initialize": text = "Waking up"; break; case "install": text = "Preparing"; break; case "restart": text = "Starting"; break; case "listening": // In cases of multiple "listening" messages, this might only // be the first one. We're going to rely on `checkReady` for // the final answer, so don't report "Ready" until that comes // back `true`. text = readyCheck ? "Starting" : "Ready"; break; default: return; } message.innerHTML = text; document.title = text + " ・゚✧"; </script> </canvas></body></html>
अंतर खोजें