Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Keylinks
- // @namespace programar.cloud
- // @match *://*/*
- // @grant none
- // @require https://code.jquery.com/jquery-2.2.4.min.js
- // ==/UserScript==
- console.log('Initializing keyliks.');
- console.log('Declaring isInViewport plugin.');
- $.fn.isInViewport = function() {
- var elementTop = $(this).offset().top;
- var elementBottom = elementTop + $(this).outerHeight();
- var viewportTop = $(window).scrollTop();
- var viewportBottom = viewportTop + $(window).height();
- return elementBottom > viewportTop && elementTop < viewportBottom;
- };
- console.log('Creating tip template.');
- let $elem=$('<a>')
- .addClass('keylink')
- .css({
- //position: 'absolute',
- display : 'inline-block',
- //width: '16px',
- //height: '16px',
- zIndex: 9999,
- left: '-16px',
- top : '0px',
- backgroundColor : 'yellow',
- color : 'black',
- fontSize: '60%'
- });
- $(document).keyup(function(evt) {
- console.log(evt.which, evt.shiftKey);
- if (evt.which !== 70 /*f*/ || evt.shiftKey === false || evt.ctrlKey === false) return;
- let $oldLinks = $('.keylink');
- if ($oldLinks.length > 0) {
- $oldLinks.detach();
- } else {
- let $links = $('a')
- .filter(function(){return $(this).isInViewport()})
- .prepend(idx => $elem.clone().text('l'+idx));
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement