Diff
checker
Text
Text
Bilder
Dokumente
Excel
Ordner
Legal
Enterprise
Desktop-App
Preise
Einloggen
Diffchecker Desktop herunterladen
Texte vergleichen
Finde den Unterschied zwischen zwei Textdateien
Werkzeuge
Verlauf
Live-Editor
Gleiches ausblenden
Zeilenumbruch aus
Ansicht
Zweispaltig
Einspaltig
Vergleichsgenauigkeit
Intelligent
Wort
Zeichen
Syntaxhervorhebung
Syntax auswählen
Ignorieren
Text umwandeln
Zur ersten Änderung
Eingabe bearbeiten
Diffchecker Desktop
Der sicherste Weg, Diffchecker zu nutzen. Hol dir die Desktop-App: Deine Diffs verlassen nie deinen Computer!
Desktop holen
post-hover.js
Erstellt
letztes Jahr
Diff läuft nie ab
Löschen
Exportieren
Teilen
Erklären
19 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
171 Zeilen
Kopieren
10 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
166 Zeilen
Kopieren
/*
/*
* post-hover.js
* post-hover.js
* https://github.com/savetheinternet/Tinyboard/blob/master/js/post-hover.js
* https://github.com/savetheinternet/Tinyboard/blob/master/js/post-hover.js
*
*
* Released under the MIT license
* Released under the MIT license
* Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org>
* Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org>
* Copyright (c) 2013-2014 Marcin Łabanowski <marcin@6irc.net>
* Copyright (c) 2013-2014 Marcin Łabanowski <marcin@6irc.net>
* Copyright (c) 2013 Macil Tech <maciltech@gmail.com>
* Copyright (c) 2013 Macil Tech <maciltech@gmail.com>
*
*
* Usage:
* Usage:
* $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/jquery.min.js';
* $config['additional_javascript'][] = 'js/post-hover.js';
* $config['additional_javascript'][] = 'js/post-hover.js';
*
*
*/
*/
onready(function(){
onready(function(){
var dont_fetch_again = [];
var dont_fetch_again = [];
init_hover = function() {
init_hover = function() {
var $link = $(this);
var $link = $(this);
var id;
var id;
var matches;
var matches;
if ($link.is('[data-thread]')) {
if ($link.is('[data-thread]')) {
id = $link.attr('data-thread');
id = $link.attr('data-thread');
}
}
else if(matches = $link.text().match(/^>>(?:>\/([^\/]+)\/)?(\d+)$/)) {
else if(matches = $link.text().match(/^>>(?:>\/([^\/]+)\/)?(\d+)$/)) {
id = matches[2];
id = matches[2];
}
}
else {
else {
return;
return;
}
}
var board = $(this);
var board = $(this);
while (board.data('board') === undefined) {
while (board.data('board') === undefined) {
board = board.parent();
board = board.parent();
}
}
var threadid;
var threadid;
if ($link.is('[data-thread]')) threadid = 0;
if ($link.is('[data-thread]')) threadid = 0;
else threadid = board.attr('id').replace("thread_", "");
else threadid = board.attr('id').replace("thread_", "");
board = board.data('board');
board = board.data('board');
var parentboard = board;
var parentboard = board;
if ($link.is('[data-thread]')) parentboard = $('form[name="post"] input[name="board"]').val();
if ($link.is('[data-thread]')) parentboard = $('form[name="post"] input[name="board"]').val();
else if (matches[1] !== undefined) board = matches[1];
else if (matches[1] !== undefined) board = matches[1];
var $post = false;
var $post = false;
var hovering = false;
var hovering = false;
var hovered_at;
var hovered_at;
$link.hover(function(e) {
$link.hover(function(e) {
hovering = true;
hovering = true;
Kopieren
Kopiert
Kopieren
Kopiert
hovered_at = {'x': e.
pageX
, 'y': e.
pageY
};
hovered_at = {'x': e.
clientX
, 'y': e.
clientY
};
var start_hover = function($link) {
var start_hover = function($link) {
if ($post.is(':visible') &&
if ($post.is(':visible') &&
$post.offset().top >= $(window).scrollTop() &&
$post.offset().top >= $(window).scrollTop() &&
$post.offset().top + $post.height() <= $(window).scrollTop() + $(window).height()) {
$post.offset().top + $post.height() <= $(window).scrollTop() + $(window).height()) {
// post is in view
// post is in view
$post.addClass('highlighted');
$post.addClass('highlighted');
} else {
} else {
var $newPost = $post.clone();
var $newPost = $post.clone();
$newPost.find('>.reply, >br').remove();
$newPost.find('>.reply, >br').remove();
$newPost.find('span.mentioned').remove();
$newPost.find('span.mentioned').remove();
$newPost.find('a.post_anchor').remove();
$newPost.find('a.post_anchor').remove();
$newPost
$newPost
.attr('id', 'post-hover-' + id)
.attr('id', 'post-hover-' + id)
.attr('data-board', board)
.attr('data-board', board)
.addClass('post-hover')
.addClass('post-hover')
.css('border-style', 'solid')
.css('border-style', 'solid')
.css('box-shadow', '1px 1px 1px #999')
.css('box-shadow', '1px 1px 1px #999')
.css('display', 'block')
.css('display', 'block')
Kopieren
Kopiert
Kopieren
Kopiert
.css('position', '
absolute
')
.css('position', '
fixed
')
.css('font-style', 'normal')
.css('font-style', 'normal')
.css('z-index', '100')
.css('z-index', '100')
.addClass('reply').addClass('post')
.addClass('reply').addClass('post')
.insertAfter($link.parent())
.insertAfter($link.parent())
$link.trigger('mousemove');
$link.trigger('mousemove');
}
}
};
};
$post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id);
$post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id);
if($post.length > 0) {
if($post.length > 0) {
start_hover($(this));
start_hover($(this));
} else {
} else {
var url = $link.attr('href').replace(/#.*$/, '');
var url = $link.attr('href').replace(/#.*$/, '');
if($.inArray(url, dont_fetch_again) != -1) {
if($.inArray(url, dont_fetch_again) != -1) {
return;
return;
}
}
dont_fetch_again.push(url);
dont_fetch_again.push(url);
$.ajax({
$.ajax({
url: url,
url: url,
context: document.body,
context: document.body,
success: function(data) {
success: function(data) {
var mythreadid = $(data).find('div[id^="thread_"]').attr('id').replace("thread_", "");
var mythreadid = $(data).find('div[id^="thread_"]').attr('id').replace("thread_", "");
if (mythreadid == threadid && parentboard == board) {
if (mythreadid == threadid && parentboard == board) {
$(data).find('div.post.reply').each(function() {
$(data).find('div.post.reply').each(function() {
if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) {
if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) {
$('[data-board="' + board + '"]#thread_' + threadid + " .post.reply:first").before($(this).hide().addClass('hidden'));
$('[data-board="' + board + '"]#thread_' + threadid + " .post.reply:first").before($(this).hide().addClass('hidden'));
}
}
});
});
}
}
else if ($('[data-board="' + board + '"]#thread_'+mythreadid).length > 0) {
else if ($('[data-board="' + board + '"]#thread_'+mythreadid).length > 0) {
$(data).find('div.post.reply').each(function() {
$(data).find('div.post.reply').each(function() {
if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) {
if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) {
$('[data-board="' + board + '"]#thread_' + mythreadid + " .post.reply:first").before($(this).hide().addClass('hidden'));
$('[data-board="' + board + '"]#thread_' + mythreadid + " .post.reply:first").before($(this).hide().addClass('hidden'));
}
}
});
});
}
}
else {
else {
$(data).find('div[id^="thread_"]').hide().attr('data-cached', 'yes').prependTo('form[name="postcontrols"]');
$(data).find('div[id^="thread_"]').hide().attr('data-cached', 'yes').prependTo('form[name="postcontrols"]');
}
}
$post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id);
$post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id);
if(hovering && $post.length > 0) {
if(hovering && $post.length > 0) {
start_hover($link);
start_hover($link);
}
}
}
}
});
});
}
}
}, function() {
}, function() {
hovering = false;
hovering = false;
if(!$post)
if(!$post)
return;
return;
$post.removeClass('highlighted');
$post.removeClass('highlighted');
if($post.hasClass('hidden') || $post.data('cached') == 'yes')
if($post.hasClass('hidden') || $post.data('cached') == 'yes')
$post.css('display', 'none');
$post.css('display', 'none');
$('.post-hover').remove();
$('.post-hover').remove();
}).mousemove(function(e) {
}).mousemove(function(e) {
if(!$post)
if(!$post)
return;
return;
var $hover = $('#post-hover-' + id + '[data-board="' + board + '"]');
var $hover = $('#post-hover-' + id + '[data-board="' + board + '"]');
if($hover.length == 0)
if($hover.length == 0)
return;
return;
Kopieren
Kopiert
Kopieren
Kopiert
var scrollTop = $(window).scrollTop();
var ecy = e.clientY;
if ($link.is("[data-thread]")) scrollTop = 0;
var top = (ecy ? ec
y : hovered_at['y']) - 10;
var epy = e.pageY;
if ($link.is("[data-thread]")) epy -= $(window).scrollTop();
var top = (epy ? ep
y : hovered_at['y']) - 10;
Kopieren
Kopiert
Kopieren
Kopiert
if(e
p
y <
scrollTop +
15) {
if(e
c
y <
15) {
top =
scrollTop
;
top =
0
;
} else if(e
p
y >
scrollTop +
$(window).height() - $hover.height() - 15) {
} else if(e
c
y >
$(window).height() - $hover.height() - 15) {
top =
scrollTop +
$(window).height() - $hover.height() - 15;
top =
$(window).height() - $hover.height() - 15;
}
}
Kopieren
Kopiert
Kopieren
Kopiert
$hover.css('left', (e.
clientX
? e.
clientX
: hovered_at['x'])).css('top', top);
$hover.css('left', (e.
pageX
? e.
pageX
: hovered_at['x'])).css('top', top);
});
});
};
};
$('div.body a:not([rel="nofollow"])').each(init_hover);
$('div.body a:not([rel="nofollow"])').each(init_hover);
// allow to work with auto-reload.js, etc.
// allow to work with auto-reload.js, etc.
$(document).on('new_post', function(e, post) {
$(document).on('new_post', function(e, post) {
$(post).find('div.body a:not([rel="nofollow"])').each(init_hover);
$(post).find('div.body a:not([rel="nofollow"])').each(init_hover);
});
});
});
});
Gespeicherte Diffs
Originaltext
Datei öffnen
/* * post-hover.js * https://github.com/savetheinternet/Tinyboard/blob/master/js/post-hover.js * * Released under the MIT license * Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org> * Copyright (c) 2013-2014 Marcin Łabanowski <marcin@6irc.net> * Copyright (c) 2013 Macil Tech <maciltech@gmail.com> * * Usage: * $config['additional_javascript'][] = 'js/jquery.min.js'; * $config['additional_javascript'][] = 'js/post-hover.js'; * */ onready(function(){ var dont_fetch_again = []; init_hover = function() { var $link = $(this); var id; var matches; if ($link.is('[data-thread]')) { id = $link.attr('data-thread'); } else if(matches = $link.text().match(/^>>(?:>\/([^\/]+)\/)?(\d+)$/)) { id = matches[2]; } else { return; } var board = $(this); while (board.data('board') === undefined) { board = board.parent(); } var threadid; if ($link.is('[data-thread]')) threadid = 0; else threadid = board.attr('id').replace("thread_", ""); board = board.data('board'); var parentboard = board; if ($link.is('[data-thread]')) parentboard = $('form[name="post"] input[name="board"]').val(); else if (matches[1] !== undefined) board = matches[1]; var $post = false; var hovering = false; var hovered_at; $link.hover(function(e) { hovering = true; hovered_at = {'x': e.pageX, 'y': e.pageY}; var start_hover = function($link) { if ($post.is(':visible') && $post.offset().top >= $(window).scrollTop() && $post.offset().top + $post.height() <= $(window).scrollTop() + $(window).height()) { // post is in view $post.addClass('highlighted'); } else { var $newPost = $post.clone(); $newPost.find('>.reply, >br').remove(); $newPost.find('span.mentioned').remove(); $newPost.find('a.post_anchor').remove(); $newPost .attr('id', 'post-hover-' + id) .attr('data-board', board) .addClass('post-hover') .css('border-style', 'solid') .css('box-shadow', '1px 1px 1px #999') .css('display', 'block') .css('position', 'absolute') .css('font-style', 'normal') .css('z-index', '100') .addClass('reply').addClass('post') .insertAfter($link.parent()) $link.trigger('mousemove'); } }; $post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id); if($post.length > 0) { start_hover($(this)); } else { var url = $link.attr('href').replace(/#.*$/, ''); if($.inArray(url, dont_fetch_again) != -1) { return; } dont_fetch_again.push(url); $.ajax({ url: url, context: document.body, success: function(data) { var mythreadid = $(data).find('div[id^="thread_"]').attr('id').replace("thread_", ""); if (mythreadid == threadid && parentboard == board) { $(data).find('div.post.reply').each(function() { if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) { $('[data-board="' + board + '"]#thread_' + threadid + " .post.reply:first").before($(this).hide().addClass('hidden')); } }); } else if ($('[data-board="' + board + '"]#thread_'+mythreadid).length > 0) { $(data).find('div.post.reply').each(function() { if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) { $('[data-board="' + board + '"]#thread_' + mythreadid + " .post.reply:first").before($(this).hide().addClass('hidden')); } }); } else { $(data).find('div[id^="thread_"]').hide().attr('data-cached', 'yes').prependTo('form[name="postcontrols"]'); } $post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id); if(hovering && $post.length > 0) { start_hover($link); } } }); } }, function() { hovering = false; if(!$post) return; $post.removeClass('highlighted'); if($post.hasClass('hidden') || $post.data('cached') == 'yes') $post.css('display', 'none'); $('.post-hover').remove(); }).mousemove(function(e) { if(!$post) return; var $hover = $('#post-hover-' + id + '[data-board="' + board + '"]'); if($hover.length == 0) return; var scrollTop = $(window).scrollTop(); if ($link.is("[data-thread]")) scrollTop = 0; var epy = e.pageY; if ($link.is("[data-thread]")) epy -= $(window).scrollTop(); var top = (epy ? epy : hovered_at['y']) - 10; if(epy < scrollTop + 15) { top = scrollTop; } else if(epy > scrollTop + $(window).height() - $hover.height() - 15) { top = scrollTop + $(window).height() - $hover.height() - 15; } $hover.css('left', (e.pageX ? e.pageX : hovered_at['x'])).css('top', top); }); }; $('div.body a:not([rel="nofollow"])').each(init_hover); // allow to work with auto-reload.js, etc. $(document).on('new_post', function(e, post) { $(post).find('div.body a:not([rel="nofollow"])').each(init_hover); }); });
Bearbeitung
Datei öffnen
/* * post-hover.js * https://github.com/savetheinternet/Tinyboard/blob/master/js/post-hover.js * * Released under the MIT license * Copyright (c) 2012 Michael Save <savetheinternet@tinyboard.org> * Copyright (c) 2013-2014 Marcin Łabanowski <marcin@6irc.net> * Copyright (c) 2013 Macil Tech <maciltech@gmail.com> * * Usage: * $config['additional_javascript'][] = 'js/jquery.min.js'; * $config['additional_javascript'][] = 'js/post-hover.js'; * */ onready(function(){ var dont_fetch_again = []; init_hover = function() { var $link = $(this); var id; var matches; if ($link.is('[data-thread]')) { id = $link.attr('data-thread'); } else if(matches = $link.text().match(/^>>(?:>\/([^\/]+)\/)?(\d+)$/)) { id = matches[2]; } else { return; } var board = $(this); while (board.data('board') === undefined) { board = board.parent(); } var threadid; if ($link.is('[data-thread]')) threadid = 0; else threadid = board.attr('id').replace("thread_", ""); board = board.data('board'); var parentboard = board; if ($link.is('[data-thread]')) parentboard = $('form[name="post"] input[name="board"]').val(); else if (matches[1] !== undefined) board = matches[1]; var $post = false; var hovering = false; var hovered_at; $link.hover(function(e) { hovering = true; hovered_at = {'x': e.clientX, 'y': e.clientY}; var start_hover = function($link) { if ($post.is(':visible') && $post.offset().top >= $(window).scrollTop() && $post.offset().top + $post.height() <= $(window).scrollTop() + $(window).height()) { // post is in view $post.addClass('highlighted'); } else { var $newPost = $post.clone(); $newPost.find('>.reply, >br').remove(); $newPost.find('span.mentioned').remove(); $newPost.find('a.post_anchor').remove(); $newPost .attr('id', 'post-hover-' + id) .attr('data-board', board) .addClass('post-hover') .css('border-style', 'solid') .css('box-shadow', '1px 1px 1px #999') .css('display', 'block') .css('position', 'fixed') .css('font-style', 'normal') .css('z-index', '100') .addClass('reply').addClass('post') .insertAfter($link.parent()) $link.trigger('mousemove'); } }; $post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id); if($post.length > 0) { start_hover($(this)); } else { var url = $link.attr('href').replace(/#.*$/, ''); if($.inArray(url, dont_fetch_again) != -1) { return; } dont_fetch_again.push(url); $.ajax({ url: url, context: document.body, success: function(data) { var mythreadid = $(data).find('div[id^="thread_"]').attr('id').replace("thread_", ""); if (mythreadid == threadid && parentboard == board) { $(data).find('div.post.reply').each(function() { if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) { $('[data-board="' + board + '"]#thread_' + threadid + " .post.reply:first").before($(this).hide().addClass('hidden')); } }); } else if ($('[data-board="' + board + '"]#thread_'+mythreadid).length > 0) { $(data).find('div.post.reply').each(function() { if($('[data-board="' + board + '"] #' + $(this).attr('id')).length == 0) { $('[data-board="' + board + '"]#thread_' + mythreadid + " .post.reply:first").before($(this).hide().addClass('hidden')); } }); } else { $(data).find('div[id^="thread_"]').hide().attr('data-cached', 'yes').prependTo('form[name="postcontrols"]'); } $post = $('[data-board="' + board + '"] div.post#reply_' + id + ', [data-board="' + board + '"]div#thread_' + id); if(hovering && $post.length > 0) { start_hover($link); } } }); } }, function() { hovering = false; if(!$post) return; $post.removeClass('highlighted'); if($post.hasClass('hidden') || $post.data('cached') == 'yes') $post.css('display', 'none'); $('.post-hover').remove(); }).mousemove(function(e) { if(!$post) return; var $hover = $('#post-hover-' + id + '[data-board="' + board + '"]'); if($hover.length == 0) return; var ecy = e.clientY; var top = (ecy ? ecy : hovered_at['y']) - 10; if(ecy < 15) { top = 0; } else if(ecy > $(window).height() - $hover.height() - 15) { top = $(window).height() - $hover.height() - 15; } $hover.css('left', (e.clientX ? e.clientX : hovered_at['x'])).css('top', top); }); }; $('div.body a:not([rel="nofollow"])').each(init_hover); // allow to work with auto-reload.js, etc. $(document).on('new_post', function(e, post) { $(post).find('div.body a:not([rel="nofollow"])').each(init_hover); }); });
Unterschied finden