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';
|
||||
};
|
||||
|
||||
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();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -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>
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user