Makes clicking on a post link in a quote immediately scroll to the post if it's on the same page, rather than reloading the page. Also updates the URL so the post can be easily linked to.
目前為
// ==UserScript==
// @name Facepunch quick post scroll
// @version 1.0
// @description Makes clicking on a post link in a quote immediately scroll to the post if it's on the same page, rather than reloading the page. Also updates the URL so the post can be easily linked to.
// @match https://facepunch.com/showthread.php?*
// @match http://facepunch.com/showthread.php?*
// @namespace https://greasyfork.org/users/28313
// ==/UserScript==
var posts = document.querySelectorAll( '.quote .information a' );
var scrollToPost = function( e ) {
var postFragment = this.href.match( /#post(\d+)$/ );
if ( !postFragment ) {
return;
}
var postId = postFragment[1];
var post = document.getElementById( 'post_' + postId );
if ( !post ) {
return;
}
window.history.pushState && history.pushState( {}, '', this.href );
post.scrollIntoView( { behavior: 'smooth' } );
e.preventDefault();
}
for ( var i = 0; i < posts.length; ++i ) {
posts[i].addEventListener( 'click', scrollToPost, false );
}