@ -1185,95 +1185,6 @@ else if (matchDomain('ftm.nl')) {
removeDOMElement ( banner _pp ) ;
}
else if ( matchDomain ( 'gva.be' ) ) {
document . addEventListener ( 'DOMContentLoaded' , ( ) => {
let paywall = document . querySelector ( 'div[data-cj-root="subscription-wall"]' ) ;
removeDOMElement ( paywall ) ;
if ( paywall ) {
let main _content = document . querySelector ( 'div[data-mht-block="article-detail__article-main"]' ) ;
let json _script = main _content . querySelector ( 'script' ) ;
let json _str = json _script . text . substring ( json _script . textContent . indexOf ( '{' ) ) ;
let json = JSON . parse ( json _str ) ;
let premium = Object . values ( json ) [ 0 ] [ 'premium' ] ;
if ( json ) {
let json _text = Object . values ( json ) [ 0 ] [ 'data' ] [ 'article' ] [ 'body' ] ;
let parser = new DOMParser ( ) ;
let div _content = main _content . querySelector ( 'div' ) ;
div _content . setAttribute ( 'class' , 'gva-6c6ea21_marginbottom5 gva-28c280e9_contentwrapper' ) ;
let par _elem , par _key , par _li , par _html ;
let head = document . querySelector ( 'head' ) ;
let streamone = false ;
let flourish = false ;
for ( let par of json _text ) {
for ( let key in par ) {
par _elem = document . createElement ( 'p' ) ;
par _key = par [ key ] ;
if ( [ 'p' , 'subhead' ] . includes ( key ) ) {
if ( par _key . includes ( '<' ) ) {
par _html = parser . parseFromString ( '<p>' + DOMPurify . sanitize ( par _key ) + '</p>' , 'text/html' ) ;
par _elem = par _html . querySelector ( 'p' ) ;
} else
par _elem . innerText = par _key ;
if ( key === 'subhead' )
par _elem . setAttribute ( 'style' , 'font-weight: bold;' ) ;
} else if ( key === 'image' ) {
par _elem = document . createElement ( 'img' ) ;
par _elem . src = par _key . url ;
} else if ( key === 'bullet_list' ) {
par _elem = document . createElement ( 'ul' ) ;
for ( let bullet of par _key ) {
par _html = parser . parseFromString ( '<li>' + DOMPurify . sanitize ( bullet ) + '</li>' , 'text/html' ) ;
par _li = par _html . querySelector ( 'li' ) ;
let bullet _link = par _li . querySelector ( 'a' ) ;
if ( bullet _link && bullet _link . href && ! bullet _link . innerText )
bullet _link . innerText = bullet _link . href ;
par _elem . appendChild ( par _li ) ;
}
} else if ( key === 'streamone' ) {
if ( ! streamone ) {
let streamone _script = document . createElement ( 'script' ) ;
streamone _script . setAttribute ( 'src' , 'https://shared.mediahuis.be/videoplayers/mediahuis/video-theoplayer.js?v=20210629T080526' ) ;
streamone _script . setAttribute ( 'defer' , true ) ;
streamone _script . setAttribute ( 'crossorigin' , 'anonymous' ) ;
if ( head )
head . appendChild ( streamone _script ) ;
streamone = true ;
}
let par _key _id = DOMPurify . sanitize ( par _key . id ) ;
par _html = parser . parseFromString ( '<div id="json_id"><div class="gva-6c6ea21_marginbottom5 gva-28c280e9_contentwrapper"><div class="gva-6c6ea21_marginbottom4"><div class="gva-6c6ea21_marginbottom0"><div class="gva-e5b9f66a_root" data-testid="embed-video"><svg class="gva-e5b9f66a_placeholder" viewBox="0 0 16 9" aria-hidden="true"></svg><div><div id="video-player-' + par _key _id + '" style="width:100%;" data-video-embed-id="' + par _key _id + '" data-video-target-id="video-player-' + par _key _id + '" data-video-brand="gva" class="js-theoplayer-placeholder"></div></div></div></div></div>' , 'text/html' ) ;
par _elem = par _html . querySelector ( 'div' ) ;
} else if ( key === 'legacy-ml' ) {
par _html = parser . parseFromString ( DOMPurify . sanitize ( par _key ) , 'text/html' ) ;
par _elem = par _html . querySelector ( 'div' ) ;
if ( ! flourish && par _key . includes ( 'flourish.studio' ) ) {
let flourish _script = document . createElement ( 'script' ) ;
flourish _script . setAttribute ( 'src' , 'https://public.flourish.studio/resources/embed.js' ) ;
if ( head )
head . appendChild ( flourish _script ) ;
flourish = true ;
}
} else {
console . log ( key + ': ' + par _key ) ;
par _html = parser . parseFromString ( '<p>' + DOMPurify . sanitize ( par _key ) + '</p>' , 'text/html' ) ;
par _elem = par _html . querySelector ( 'p' ) ;
}
if ( ! [ 'streamone' , 'legacy-ml' ] . includes ( key ) )
par _elem . setAttribute ( 'style' , 'font-size: 16px;' ) ;
div _content . appendChild ( par _elem ) ;
}
}
}
}
} ) ;
window . setTimeout ( function ( ) {
let overlay = document . querySelector ( 'div.cj-root' ) ;
removeDOMElement ( overlay ) ;
let noscroll = document . querySelector ( 'html.is-dialog-active' ) ;
if ( noscroll )
noscroll . classList . remove ( 'is-dialog-active' ) ;
} , 500 ) ; // Delay (in milliseconds)
}
else if ( matchDomain ( 'knack.be' ) ) {
let paywall = document . querySelector ( '.rmgPaywall' ) ;
if ( paywall ) {