Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Gfycat/Imgur Redirect
- // @namespace asdf
- // @description Changes gif links into gfy or gifv links.
- // @include *
- // @version 1
- // @grant none
- // @run-at document-start
- // ==/UserScript==
- (function () {
- function get_html5_url(gif_url) {
- var xmlHttp = new XMLHttpRequest();
- xmlHttp.open( "GET", "http://gfycat.com/cajax/get/" + gif_url, false );
- xmlHttp.send( null );
- var gfy = JSON.parse(xmlHttp.responseText).gfyItem;
- if (gfy.webmSize < gfy.gifSize && gfy.webmSize <= gfy.mp4Size) {
- return gfy.webmUrl;
- } else if (gfy.mp4Size < gfy.gifSize && gfy.mp4Size <= gfy.webmSize) {
- return gfy.mp4Url;
- } else {
- return false;
- }
- }
- var gfy_regex = /^http:\/\/[A-Za-z]*\.gfycat\.com\/([A-Za-z]*).\gif$/;
- var imgur_regex = /^http:\/\/i\.imgur\.com\/[A-Za-z0-9]+.gif$/
- var result = gfy_regex.exec(window.location);
- var result2 = imgur_regex.exec(window.location);
- var gfy_name, html5_url
- /* if (result && result[1]) { //current url is of a gfycat gif
- gfy_name = result[1];
- html5_url = get_html5_url(gfy_name);
- if (html5_url) {
- window.location.replace(html5_url);
- }
- } else if (result2) {
- window.location.replace(window.location + "v");
- } */
- function replace_links() {
- var links = document.getElementsByTagName('a');
- for (var i = 0; i < links.length; i++) {
- var item = links[i];
- result = gfy_regex.exec(item.href);
- result2 = imgur_regex.exec(item.href);
- if (result && result[1]) {
- gfy_name = result[1];
- html5_url = get_html5_url(gfy_name);
- if (html5_url) {
- item.href = html5_url;
- }
- } else if (result2) {
- item.href = item.href + "v";
- }
- }
- }
- window.addEventListener("DOMContentLoaded", replace_links, false);
- }());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement