1
0
mirror of https://github.com/thebaer/MMRA synced 2024-11-13 10:11:01 +00:00

Add option to disable dynamic/lazy image loading

This ensures all images in a post load immediately, instead of waiting
for the user to scroll down the page.

Closes #5
This commit is contained in:
Matt Baer 2017-08-30 22:45:22 -04:00
parent e9b8eb885f
commit 3a3be01c88
3 changed files with 25 additions and 2 deletions

View File

@ -20,6 +20,18 @@ var hideDickbar = function() {
document.querySelector('footer > .container:first-child').style.display = 'none';
};
var disableLazyLoading = function() {
var hiddenMedia = document.querySelectorAll('.js-progressiveMedia-inner');
if (hiddenMedia == null) {
return;
}
for (var i=0; i<hiddenMedia.length; i++) {
var template = document.createElement('template');
template.innerHTML = hiddenMedia[i].textContent;
hiddenMedia[i].parentNode.appendChild(template.content.firstChild);
}
};
// Only run this on Medium sites.
// Ensure that by checking for <meta property="al:ios:app_name" content="Medium"> in the document <head />
var metaCheck = document.head.querySelector('meta[property="al:ios:app_name"]');
@ -30,5 +42,8 @@ if (metaCheck != null && metaCheck.content == "Medium") {
if (items.hideDickbar) {
hideDickbar();
}
if (items.disableLazyImages) {
disableLazyLoading();
}
});
}

View File

@ -21,6 +21,10 @@
<input type="checkbox" id="dickbar"> Hide sharing dickbar
</label>
<label>
<input type="checkbox" id="images"> Disable lazy image loading
</label>
<hr />
<h2>Defaults</h2>

View File

@ -1,8 +1,10 @@
// Saves options to chrome.storage
function save_options() {
var hideDickbar = document.getElementById('dickbar').checked;
var disableLazyImages = document.getElementById('images').checked;
chrome.storage.sync.set({
hideDickbar: hideDickbar
hideDickbar: hideDickbar,
disableLazyImages: disableLazyImages
}, function() {
// Update status to let user know options were saved.
var status = document.getElementById('status');
@ -17,9 +19,11 @@ function save_options() {
// stored in chrome.storage.
function restore_options() {
chrome.storage.sync.get({
hideDickbar: false
hideDickbar: false,
disableLazyImages: false
}, function(items) {
document.getElementById('dickbar').checked = items.hideDickbar;
document.getElementById('images').checked = items.disableLazyImages;
});
}
document.addEventListener('DOMContentLoaded', restore_options);