?????? ??????? ??? ?????? ????? (? ????) ?????://???.???

The problem with JPEGS

You know how some photos disappear as soon as they are Past Bread? Those are JPEG files.

For superior results, please save files as either PNGs or JPGs.

(Check out the default for your program. If it's JPEG, try to change the default–or choose a different option from the "Save as" drop-down menu.)

>Please use PNGs or JPGs (not JPEGS) for images

/* (user comment here not part of script) Example of a script at my website:
http://www.hawkinsnetwork.com/....hawkinsnetwork/metam

This post contains a userscript for Greasemonkey, Tampermonkey, etc that makes some improvements to the breads

more info about userscripts and how to install them: https://github.com/OpenUserJs/....OpenUserJS.org/wiki/

features so far:

> highlight all lb/pb links in yellow

> show (OP) in the post header for all replies by the original poster

> fix loading .jpeg images from previous breads: workaround for >>5958613

< pic related */

// —————– BEGIN SCRIPT

// ==UserScript==

// @name qresearch tweaks by jsanon

// @version 7733

// Grant none

// @include https://8ch.net/qresearch/*

// ==/UserScript==

(function() {

/**

* Helper functions

*/

function addStyle(css) {

var style = document.createElement('style';

style.innerHTML = css;

document.querySelector('head'.appendChild(style);

}

/**

* Highlight lb/pb links in yellow

*/

var opPostIDMatch = window.location.href.match(/\/(\d+)\.html/);

if (!opPostIDMatch) {

// Not on an individual thread page; stop here.

return;

}

var opPostID = opPostIDMatch[1];

addStyle(`

a[href^="/qresearch/res/"]:not([href^="/qresearch/res/${opPostID}.html"]) {

background: #ffb;

}

`);

/**

* Add "(OP)" to OP user ID

*/

var opPosterID = document.querySelector('.post.op .poster_id'.innerText.trim();

function highlightPostsByOPUser() {

Array.from(document.querySelectorAll('span.poster_id:not(.poster_id_checked)')

.forEach(el => {

var posterID = el.innerText.trim();

if (posterID === opPosterID) {

el.style.fontWeight = 'bold';

el.parentNode.insertBefore(document.createTextNode(' (OP)', el.nextSibling);

}

el.classList.add('poster_id_checked';

});

}

highlightPostsByOPUser();

setInterval(highlightPostsByOPUser, 200;

/**

* Fix loading .jpeg images from previous breads

*/

function fixJpegImages() {

Array.from(document.querySelectorAll('div.post.post-hover')

.forEach(el => {

var arrFileInfoName = el.querySelectorAll('p.fileinfo a:not(.hide-image-link)';

var arrImg = el.querySelectorAll('img';

for (var i = 0; i < arrFileInfoName.length; i++) {

var fileInfoName = arrFileInfoName[i].innerText;

var img = arrImg[i];

if (/\.jpeg\s*$/.test(fileInfoName) &&

img && /\.jpg$/.test(img.src)) {

img.src = img.src.replace(/\.jpg$/, '.jpeg';

}

}

});

}

setInterval(fixJpegImages, 100;

})();

// —————– END SCRIPT

INSTRUCTIONS - https://github.com/…/OpenUs…/w....iki/Userscript-Begin

image
AWeber Smart Designer