WaniKani Forums: Large Image Embedder

Embeds images which Discourse refuses to embed

נכון ליום 13-02-2018. ראה הגרסה האחרונה.

// ==UserScript==
// @name         WaniKani Forums: Large Image Embedder
// @namespace    http://tampermonkey.net/
// @version      0.1.1
// @description  Embeds images which Discourse refuses to embed
// @author       Kumirei
// @include      https://community.wanikani.com*
// @require      https://greatest.deepsurf.us/scripts/5392-waitforkeyelements/code/WaitForKeyElements.js?version=115012
// @grant        none
// ==/UserScript==

(function() {
		'use strict';

		initialiseScript();
		setTriggers();
})();

function embedImages() {
		$('.large-image-placeholder a').each(function() {
				console.log('swooosh');
				var url = $(this).attr('href');
				var img = document.createElement('img');
				img.src = url;
				var elem = $(this.closest('.large-image-placeholder'));
				elem.empty();
				elem.append(img);
		});
}

function initialiseScript() {
		if ($('.large-image-placeholder').length != 0) {
				embedImages();
		}
		else {
				waitForKeyElements('.large-image-placeholder a', function(e){embedImages();});
		}
}

function setTriggers() {
		window.addEventListener('load', function(){initialiseScript();});

		window.addEventListener('popstate', function(){initialiseScript();});

		(function(history){
				var pushState = history.pushState;
				history.pushState = function(state) {
						initialiseScript();
						return pushState.apply(history, arguments);
				};
		})(window.history);

		var i = 0;
		window.onscroll = function() {
				if (i % 50 == 0) {
						embedImages();
				}
				i++;
		};
}