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:
parent
e9b8eb885f
commit
3a3be01c88
@ -20,6 +20,18 @@ var hideDickbar = function() {
|
|||||||
document.querySelector('footer > .container:first-child').style.display = 'none';
|
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.
|
// Only run this on Medium sites.
|
||||||
// Ensure that by checking for <meta property="al:ios:app_name" content="Medium"> in the document <head />
|
// 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"]');
|
var metaCheck = document.head.querySelector('meta[property="al:ios:app_name"]');
|
||||||
@ -30,5 +42,8 @@ if (metaCheck != null && metaCheck.content == "Medium") {
|
|||||||
if (items.hideDickbar) {
|
if (items.hideDickbar) {
|
||||||
hideDickbar();
|
hideDickbar();
|
||||||
}
|
}
|
||||||
|
if (items.disableLazyImages) {
|
||||||
|
disableLazyLoading();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,10 @@
|
|||||||
<input type="checkbox" id="dickbar"> Hide sharing dickbar
|
<input type="checkbox" id="dickbar"> Hide sharing dickbar
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="images"> Disable lazy image loading
|
||||||
|
</label>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<h2>Defaults</h2>
|
<h2>Defaults</h2>
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
// Saves options to chrome.storage
|
// Saves options to chrome.storage
|
||||||
function save_options() {
|
function save_options() {
|
||||||
var hideDickbar = document.getElementById('dickbar').checked;
|
var hideDickbar = document.getElementById('dickbar').checked;
|
||||||
|
var disableLazyImages = document.getElementById('images').checked;
|
||||||
chrome.storage.sync.set({
|
chrome.storage.sync.set({
|
||||||
hideDickbar: hideDickbar
|
hideDickbar: hideDickbar,
|
||||||
|
disableLazyImages: disableLazyImages
|
||||||
}, function() {
|
}, function() {
|
||||||
// Update status to let user know options were saved.
|
// Update status to let user know options were saved.
|
||||||
var status = document.getElementById('status');
|
var status = document.getElementById('status');
|
||||||
@ -17,9 +19,11 @@ function save_options() {
|
|||||||
// stored in chrome.storage.
|
// stored in chrome.storage.
|
||||||
function restore_options() {
|
function restore_options() {
|
||||||
chrome.storage.sync.get({
|
chrome.storage.sync.get({
|
||||||
hideDickbar: false
|
hideDickbar: false,
|
||||||
|
disableLazyImages: false
|
||||||
}, function(items) {
|
}, function(items) {
|
||||||
document.getElementById('dickbar').checked = items.hideDickbar;
|
document.getElementById('dickbar').checked = items.hideDickbar;
|
||||||
|
document.getElementById('images').checked = items.disableLazyImages;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
document.addEventListener('DOMContentLoaded', restore_options);
|
document.addEventListener('DOMContentLoaded', restore_options);
|
||||||
|
Loading…
Reference in New Issue
Block a user