mirror of
https://gitlab.com/magnolia1234/bypass-paywalls-firefox-clean.git
synced 2024-09-20 07:33:40 +02:00
Fix DvhN.nl (json)
This commit is contained in:
parent
9cc083c7e1
commit
cafcdddad8
3 changed files with 56 additions and 40 deletions
|
@ -2,6 +2,7 @@
|
||||||
Changelog Bypass Paywalls Clean - Firefox
|
Changelog Bypass Paywalls Clean - Firefox
|
||||||
|
|
||||||
Post-release
|
Post-release
|
||||||
|
Fix DvhN.nl (json)
|
||||||
|
|
||||||
* v3.0.3.0 (2023-01-29)
|
* v3.0.3.0 (2023-01-29)
|
||||||
Add Saarbruecker Zeitung
|
Add Saarbruecker Zeitung
|
||||||
|
|
|
@ -2032,51 +2032,66 @@ else if (matchDomain(['lc.nl', 'dvhn.nl'])) {
|
||||||
if (url_nuxt && !url_nuxt.includes(window.location.pathname))
|
if (url_nuxt && !url_nuxt.includes(window.location.pathname))
|
||||||
refreshCurrentTab();
|
refreshCurrentTab();
|
||||||
else if (json.includes(',body:')) {
|
else if (json.includes(',body:')) {
|
||||||
let json_text = json.split(',body:')[1].split('leadText:')[0];
|
let json_text = json.split(',body:')[1].split(',leadText:')[0].replace(/([{,])([a-zA-Z_0-9]+\d?):/g, "$1\"$2\":").replace(/\":(\[)?([\w\$\.]+)([\]},])/g, "\":$1\"$2\"$3");
|
||||||
let article = document.querySelector('div.content');
|
let article = document.querySelector('div.content');
|
||||||
if (article) {
|
if (article) {
|
||||||
article.innerHTML = '';
|
article.innerHTML = '';
|
||||||
let concat = 0;
|
try {
|
||||||
let elem;
|
let pars = JSON.parse(json_text);
|
||||||
let types = json_text.split(/(,|\[){typename:/);
|
for (let par of pars) {
|
||||||
for (let type of types) {
|
let elem = document.createElement('p');
|
||||||
let type_elem = type.split(',')[0];
|
if (par.typename === 'HTMLCustomEmbed') {
|
||||||
if (type.includes(',text:')) {
|
if (par.code) {
|
||||||
if (type.includes(',text:')) {
|
|
||||||
let item = type.split(',text:')[1].split(/(}])?,__typename:/)[0].replace(/(^"|"$)/g, '').replace(/\\u002F/g, '/');
|
|
||||||
if (item.length > 2 && !item.match(/(^\[|\]$)/)) {
|
|
||||||
if (!concat) {
|
|
||||||
elem = document.createElement('p');
|
|
||||||
elem.innerText = item;
|
|
||||||
if (item.match(/(\s|-)$/))
|
|
||||||
concat = 2;
|
|
||||||
} else {
|
|
||||||
elem.innerText += (concat < 2 ? ' ' : '') + item;
|
|
||||||
if (item.match(/\s$/))
|
|
||||||
concat = 2;
|
|
||||||
else
|
|
||||||
concat--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (type.includes('HTMLCustomEmbed')) {
|
|
||||||
if (type.includes(',code:')) {
|
|
||||||
let item = type.split(',code:')[1].split(',type:')[0].replace(/(^"|"$)/g, '').replace(/\\u003C/g, '<').replace(/\\u003E/g, '>').replace(/\\u002F/g, '/').replace(/\\"/g, '"');
|
|
||||||
let parser = new DOMParser();
|
let parser = new DOMParser();
|
||||||
let article_html = parser.parseFromString('<div>' + DOMPurify.sanitize(item, {ADD_TAGS: ['iframe']}) + '</div>', 'text/html');
|
let article_html = parser.parseFromString('<div>' + DOMPurify.sanitize(par.code, {ADD_TAGS: ['iframe']}) + '</div>', 'text/html');
|
||||||
elem = article_html.querySelector('div');
|
elem = article_html.querySelector('div');
|
||||||
}
|
}
|
||||||
} else if (type_elem.length > 2)
|
} else if (par.typename === 'Story_insertbox') {
|
||||||
console.log(type_elem);
|
if (par.insertbox_head) {
|
||||||
if (elem && !concat) {
|
let span = document.createElement('span');
|
||||||
article.appendChild(elem);
|
span.innerText = par.insertbox_head;
|
||||||
elem = '';
|
elem.appendChild(span);
|
||||||
|
elem.appendChild(document.createElement('br'));
|
||||||
|
}
|
||||||
|
if (par.insertbox_text) {
|
||||||
|
for (let item of par.insertbox_text) {
|
||||||
|
if (item.children) {
|
||||||
|
for (let child of item.children) {
|
||||||
|
let span = document.createElement('span');
|
||||||
|
span.innerText = child.text;
|
||||||
|
elem.appendChild(span);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (elem)
|
}
|
||||||
|
}
|
||||||
|
} else if (par.text) {
|
||||||
|
elem.innerText = par.text;
|
||||||
|
} else if (par.children) {
|
||||||
|
for (let child of par.children) {
|
||||||
|
if (child.text) {
|
||||||
|
if (child.text.length > 1) {
|
||||||
|
let span = document.createElement('span');
|
||||||
|
span.innerText = child.text;
|
||||||
|
elem.appendChild(span);
|
||||||
|
}
|
||||||
|
} else if (child.href && child.children[0].text) {
|
||||||
|
let par_link = document.createElement('a');
|
||||||
|
par_link.href = child.href;
|
||||||
|
par_link.innerText = child.children[0].text;
|
||||||
|
elem.appendChild(par_link);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (par.typename.length > 2)
|
||||||
|
console.log(par);
|
||||||
|
if (elem.hasChildNodes()) {
|
||||||
article.appendChild(elem);
|
article.appendChild(elem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -728,5 +728,5 @@
|
||||||
"*://*.wallkit.net/*",
|
"*://*.wallkit.net/*",
|
||||||
"*://webcache.googleusercontent.com/*"
|
"*://webcache.googleusercontent.com/*"
|
||||||
],
|
],
|
||||||
"version": "3.0.3.0"
|
"version": "3.0.3.1"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue