CINXE.COM

All you can read | taz.de

<!DOCTYPE html><html lang="de" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# "> <head> <title>All you can read | taz.de </title> <meta name="viewport" content="initial-scale=1, maximum-scale=3, width=device-width"></meta> <meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta> <meta name="robots" content="index, follow, max-image-preview:large "></meta> <link rel="canonical" href="https://taz.de/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/"></link> <meta name="copyright" content="TAZ Verlags- und Vertriebs GmbH"></meta> <meta name="description" content="Niemand muss taz lesen. Aber wer will, kann. Unser Journalismus ist nicht nur 100 % konzernfrei, sondern auch kostenfrei zugänglich. Texte, die es nicht allen recht machen und Stimmen, die man woanders nicht hört – immer aus Überzeugung und hier auf taz.de ohne Paywall. Das ist dank Ihrer Unterstützung möglich!"></meta> <meta property="og:site_name" content="taz.de"> <meta property="og:url" content="https://taz.de/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/"> <meta property="fb:pages" content="171844246207985, 162775943776229, 136860635948, 337939896245563, 185657208283671, 1141409319297464, 255160261177600, 1252816681448318, 240508363106685, 669240916596907"> <meta property="fb:app_id" content="817458245779898"> <meta property="og:title" content="All you can read"> <meta property="og:description" content="Niemand muss taz lesen. Aber wer will, kann. Unser Journalismus ist nicht nur 100 % konzernfrei, sondern auch kostenfrei zugänglich. Texte, die es nicht allen recht machen und Stimmen, die man woanders nicht hört – immer aus Überzeugung und hier auf taz.de ohne Paywall. Das ist dank Ihrer Unterstützung möglich!"></meta> <meta property="og:type" content="product"></meta> <meta name="taz:title" data-id="vbd8182f9-0363-4f43-936f-7a2f0666b18c" content="All you can read​"> <meta property="og:image:alt" content=""> <meta property="og:image" content="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/1020/all-you-can-read-noframe.png"> <meta name="twitter:image" content="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/1020/all-you-can-read-noframe.png"> <meta name="twitter:card" content="summary_large_image"> <meta property="og:image:width" content="1020"> <meta property="og:image:height" content="679"> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@tazgezwitscher"> <meta property="og:locale" content="de_DE"> <script type="application/ld+json"> {"@context":"https://schema.org/","@type":"WebPage","url":"https://taz.de/","publisher":{"@type":"NewsMediaOrganization","name":"TAZ Verlags- und Vertriebs GmbH","logo":{"@type":"ImageObject","url":"https://taz.de/lib/taz-verlag-node/icons/taz_logo_web.jpg"},"url":"https://taz.de/","sameAs":["https://pod.geraspora.de/u/taz","https://www.reddit.com/user/dietageszeitung","https://flipboard.com/@taz_de","https://www.instagram.com/taz.die_tageszeitung","https://twitter.com/tazgezwitscher","https://www.facebook.com/taz.kommune/"]}}</script> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://taz.de/verlag/!v=5ee91bd4-22a3-4490-b2be-5bcf10f38f53/","name":"taz Verlag"}},{"@type":"ListItem","position":2,"item":{"@id":"https://taz.de9557125e-045d-4eae-8c92-e80bb60ae4db","name":"taz zahl ich"}}]}</script> <link rel="preload" href="/lib/taz-verlag-node/fonts/Taz-Bold_tazze_private_only.woff" type="font/woff" crossorigin="anonymous" as="font"></link> <link rel="preload" href="/lib/taz-verlag-node/fonts/AktivGrotesk_W_Bd.latin.woff2" type="font/woff2" crossorigin="anonymous" as="font"></link> <link rel="preload" href="/lib/taz-verlag-node/fonts/AktivGrotesk_W_Rg.latin.woff2" type="font/woff2" crossorigin="anonymous" as="font"></link> <link rel="preload" href="/lib/taz-verlag-node/fonts/AktivGrotesk_W_Md.latin.woff2" type="font/woff2" crossorigin="anonymous" as="font"></link> <link rel="preload" href="/lib/taz-verlag-node/fonts/AktivGrotesk_W_It.latin.woff2" type="font/woff2" crossorigin="anonymous" as="font"></link> <link rel="preload" href="/lib/taz-verlag-node/icons/heart_white_redhov.svg" type="image/svg+xml" as="image"></link> <link rel="preload" href="/lib/taz-verlag-node/icons/menu_suche_redhov.svg" type="image/svg+xml" as="image"></link> <link rel="preload" href="/lib/taz-verlag-node/icons/M_taz_Logo-min.svg" type="image/svg+xml" as="image"></link> <link rel="preload" href="/lib/taz-verlag-node/icons/DT_taz_logo-min.svg" type="image/svg+xml" as="image"></link> <link rel="preload" href="/lib/taz-verlag-node/icons/dot.svg" type="image/svg+xml" as="image"></link> <link rel="preload" href="/lib/taz-verlag-node/icons/show_more_grey_redhov.svg" type="image/svg+xml" as="image"></link> <script> if (typeof queueMicrotask === "undefined") { window.queueMicrotask = function(callback) { Promise.resolve().then(callback).catch(e => setTimeout(() => { throw e; })); }; } </script> <script type="text/javascript" src="//data-502d5cce76.taz.de/iomm/latest/bootstrap/stub.js"></script> <link rel="stylesheet" type="text/css" media="screen, print" href="/lib/taz-verlag-node/css/styles__corp.min.css"></link> <script type="text/javascript" src="/lib/taz-verlag-node/js/cmp_10_2024.js"></script> <script type="text/javascript" onload="console.log('onload: loaded securepubads')" onerror="console.log('onerror: blocked by client'); document.addEventListener('DOMContentLoaded', () => {document.body.classList.add('prevent-ad-empty-space')});" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"> </script> <script type="text/javascript" src="/lib/taz-verlag-node/js/jquery/dist/jquery.min.js"></script> <script type="module"> import Alpine from '/lib/taz-verlag-node/js/alpinejs/dist/module.esm.js' window.Alpine = Alpine; Alpine.start(); window.Alpine; </script> <script type="text/javascript" src="/lib/taz-verlag-node/js/steffiOtaz_de.WebelementSwitch.js"></script> <link rel="apple-touch-icon" sizes="120x120" href="/lib/taz-verlag-node/apple-touch-icon.png"></link> <link rel="icon" type="image/png" sizes="32x32" href="/lib/taz-verlag-node/favicon-32x32.png"></link> <link rel="icon" type="image/png" sizes="16x16" href="/lib/taz-verlag-node/favicon-16x16.png"></link> <link rel="manifest" href="/lib/taz-verlag-node/site.webmanifest"></link> <link rel="mask-icon" href="/lib/taz-verlag-node/safari-pinned-tab.svg" color="#5bbad5"></link> <meta name="msapplication-TileColor" content="#da532c"></meta> <meta name="theme-color" content="#ffffff"></meta> <link rel="stylesheet" href="/lib/taz-verlag-node/css/photoswipe.css"></link> <link rel="stylesheet" href="/lib/taz-verlag-node/js/shariff/dist/shariff.min.css"></link> <script async="async" type="text/javascript" src="//data-502d5cce76.taz.de/iomm/latest/manager/base/es6/bundle.js"></script> <script type="text/javascript"> // scoping if (!window.marOtaz_de) window.marOtaz_de = new Object; marOtaz_de.isMobile = ()=> { if (/Mobi|Android/i.test(navigator.userAgent) && screen.width < 768) { return true } else { return false; } } // to handle ros top right marOtaz_de.isBigDesktopScreen = ()=> { if ( screen.width >= 1600) { return true } else { return false; } } // early init of alpine store for simpler access to page view states document.addEventListener('alpine:init', () => { Alpine.store('campaign', { pagesShow: {'initial-display': true}, bountyState: () => { return ''} }) }); var st = marOtaz_de.isMobile() ? 'mobtaz' : 'taz'; var dn = marOtaz_de.isMobile() ? 'data-502d5cce76.taz.de' : 'data-2d3a3249cd.taz.de' IOMm('configure', { st: st, dn: dn, mh: 5 }); </script> <script type="text/javascript"> // IVW pageview ;) IOMm('pageview', { cp: "Verlag/taz-zahl-ich" }); </script> <script type="text/javascript"> IOMm('3p', 'qds', st); // console.log(st); // console.log(dn); // polyfill alpine if (typeof window.queueMicrotask !== "function") { window.queueMicrotask = function (callback) { Promise.resolve() .then(callback) .catch(e => setTimeout(() => { throw e; })); }; } function loadScript(url) { const script = document.createElement('script'); script.src = url; script.type = 'text/javascript'; document.head.appendChild(script); } // cash-dom not supported // something still wrong here. //if (typeof $ === 'undefined') loadScript('/lib/taz-verlag-node/js/jquery/dist/jquery.min.js'); /********* END LAZY LOAD ********/ /* document.addEventListener("DOMContentLoaded", function() { marOtaz_de.lazyObserver.observe(); }); */ </script> <script> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function(){ if( true == 'true' ) return; const adArea = ''; var page_id = 'vbd8182f9-0363-4f43-936f-7a2f0666b18c'; let tags = []; // tag tageting: // console.log([page_id]); // console.log(tags); // console.log(adArea); googletag.cmd.push( function() { try { var pa = googletag.pubads(); if (typeof pa !== 'object') throw new Error('pubads not available'); pa.setForceSafeFrame(true); // https://developers.google.com/publisher-tag/guides/minimize-layout-shift?hl=de pa.collapseEmptyDivs(); pa.setTargeting('position', [ adArea ]); //pa.setTargeting('test', ['fireplace']); //pa.setTargeting('test', ['wallpaper']); pa.setTargeting('page_id', [page_id]); if (tags !== undefined) pa.setTargeting('taz_tag', tags); if( location.protocol =='https' ) pa.setTargeting('ssl', ['ja']); googletag.enableServices(); } catch (e) { // Error indicates the script was blocked console.log('Error in gpt activation', e); if (document.body) { document.body.classList.add('prevent-ad-empty-space'); } else { document.addEventListener('DOMContentLoaded', () => { document.body.classList.add('prevent-ad-empty-space'); }); } } }); })(); (function () { if (!window.filOtaz_de) window.filOtaz_de = Object; if (!window.filOtaz_de.ads) window.filOtaz_de.ads = Object; if (!window.filOtaz_de.ads.gpt) window.filOtaz_de.ads.gpt = Object; var sizes = JSON.parse('{"artikel_medrec-1":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"artikel_medrec-2":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"artikel_medrec_mitte":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"ros_sidebar-1":[300,250],"ros_sidebar-2":[300,100],"uebersicht_medrec-1":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"uebersicht_medrec-2":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"uebersicht_medrec-3":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"uebersicht_medrec-4":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"uebersicht_medrec-5":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"uebersicht_board-1":[[300,250],[728,90],[624,150],[970,90],[770,250],[800,250],[970,250]],"ros_billboard-1":[[870,250],[728,90],[970,90],[770,250],[800,250],[970,250],[624,150],[300,250]],"mobile_banner-1":[[320,50],[320,100],[300,250]],"mobile_banner-2":[300,250],"mobile_banner_artikel_mitte":[300,250],"mobile_banner_header":[320,50],"mobile_banner-3":[[320,50],[320,100],[300,250]],"mobile_banner-4":[300,250],"mobile_banner_4":[300,250],"ros_top-links":[[120,600],[160,600],[300,600],[200,600]],"ros_top-mitte":[[728,90],[970,90]],"ros_top-rechts":[[120,600],[160,600],[300,600],[200,600]],"ros_leaderboard-1":[728,90],"fireplace-mitte":[[970,90],[728,90]],"fireplace-links":[160,601],"fireplace-rechts":[160,600],"fireplace_bg":[1,1]}'); var roadblocks = {}; /* roadblocks = { // 'ros_top-mitte': ['ros_billboard_1', 'fireplace-mitte'] 'ros_top-mitte': ['fireplace-mitte'] , 'ros_top-rechts': ['fireplace-rechts'] }; */ filOtaz_de.ads.fitIn = function (container) { var container = $(container); if (!container.is('.ad_zone')) return; var packing = container.parent('.ad_bin'); packing.addClass('shown'); container.addClass('ad_zone_shown'); if (container.hasClass('ad_zone_contentad')) { packing.prev('.sect_leads').addClass('aded_' + (container.height() > 120 ? 'big' : 'small')); var badge = container.hasClass('ad_zone_sold') ? 'Anzeige' : 'taz-Angebot'; container.before('<div class="ad_badge mgb-xsmall typo-caption">' + badge + '</div>'); } container.trigger('TAZadInserted').trigger('TAZboxChange'); }; filOtaz_de.ads.reclaim = function (container) { // remove whitespace from non-delivered ad var container = $(container); //console.log('reclaim '+ container.attr('id') ); if (!container.is('.ad_zone')) return; var packing = container.parent('.ad_bin'); packing.removeClass('shown'); container.removeClass('ad_zone_shown'); if (container.hasClass('ad_zone_contentad')) { packing.prev('.sect_leads').removeClass('aded_big aded_small'); } container.trigger('TAZadRemoved').trigger('TAZboxChange'); }; var fuzeAdFrame = function (frame) { // register frame for messages, fire if one is from our content console.log('legacy fuzeAdFrame', frame); }; // Hintergrund per Message var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; window[eventMethod](messageEvent, function (e) { if (e.data.toString().indexOf("color") != -1) { $("#background").css("background-color", e.data.split(" ")[1]); } }, false); // activate ad frame var adZoneHandled = {}; var get_id = function (name) { return $('div[name=' + name + ']').attr('id'); }; var get_name = function (id) { return $('#' + id).attr('name'); }; unblock = function (id, rb_id) { var name = get_name(id); var index = roadblocks[name].indexOf(rb_id); if (index > -1) { roadblocks[name].splice(index, 1); } if (!roadblocks[name].length) { googletag.defineSlot('/53015287,118803185/' + name, sizes[name], id).addService(googletag.pubads()); googletag.display(id); } }; filOtaz_de.ads.gpt.activateAdFrame = function (id) { if (!id) return; if (adZoneHandled[id]) return; adZoneHandled[id] = true; // only one active zone per id var packing = $('#ad_bin_' + id); id = 'ad_zone_' + id; var container = packing.find('#' + id); // console.log(container.length); var name = container.attr('name'); if (!name || !sizes[name]) return; // handle custom ad load events container.on('filOtaz_de.ads.gpt.noBanner', function () { return false; }); container.on('filOtaz_de.ads.gpt.preBanner', function () { filOtaz_de.ads.fitIn(container); return false; }); container.on('filOtaz_de.ads.gpt.postBanner', function () { return false; }); try { googletag.cmd.push(function () { var pa = googletag.pubads(); if (roadblocks[name]) { pa.addEventListener('slotRenderEnded', function (e) { for (var i = 0; i < roadblocks[name].length; i++) { if (e.slot.getSlotElementId() == 'ad_zone_' + roadblocks[name][i]) { if (e.isEmpty) { unblock(id, roadblocks[name][i]); } else { document.getElementById(id).style.display = 'none'; for (var key in roadblocks) { if (!roadblocks.hasOwnProperty(key)) continue; for (var j = 0; j < roadblocks[key].length; j++) if (id == 'ad_zone_' + roadblocks[key][j]) { unblock(get_id(key), roadblocks[key][j]); break; } } } } } }); // pa.addEventListener // console.log('roadblocks' + id); googletag.display(id); } else { pa.display('/53015287,118803185/' + name, sizes[name], id); // console.log( 'asked for', '/53015287,118803185/'+ name, sizes[name], id ); } // https://developers.google.com/publisher-tag/reference?hl=de pa.addEventListener('slotRenderEnded', function (e) { if (e.slot.getSlotElementId() != id) return; // not our slot container.trigger(e.isEmpty ? 'filOtaz_de.ads.gpt.noBanner' : 'filOtaz_de.ads.gpt.preBanner'); if (e.isEmpty) { console.log("No ad delivered for slot:", e.slot.getSlotElementId()); container.addClass('isSlotRenderEndedEmpty'); container.closest('.ad_zone-container-inner').addClass('isSlotRenderEndedEmpty'); } // added by mar prevent empty containers container.addClass('isSlotRenderEnded'); container.closest('.ad_zone-container-inner').addClass('isSlotRenderEnded'); }); /* pa.addEventListener('slotResponseReceived', function (e) { if (e.slot.getSlotElementId() != id) return; container.addClass('slotResponseReceived') }); pa.addEventListener('slotOnload', function (e) { if (e.slot.getSlotElementId() != id) return; container.addClass('slotOnload') }); pa.addEventListener('slotRequested', function (e) { if (e.slot.getSlotElementId() != id) return; container.addClass('slotRequested') }); */ }); } catch (err) { $('body').addClass('prevent-ad-empty-space'); console.log('error in gpt activation', err) } } })(); </script> <noscript><img src="https://taz.de/stats/piwik.php?idsite=1&rec=1&action_name=NOSCRIPT" style="border:0" alt="piwik no script img"></img> </noscript> <script id="piwik-init" type="text/javascript"> // === global members let p; let globalTrackingParam = ''; if ( location.hash.indexOf('#!formfill:') ==0 ) globalTrackingParam = '&'+ location.hash.split(':')[1] ; if ( location.hash.indexOf('#matomo:') ==0 ) globalTrackingParam = '&'+ location.hash.split(':')[1].replaceAll('pk_', 'mtm_'); // ====================================================== taz piwik library === // window.patOtaz_de = window.patOtaz_de || new Object; window.patOtaz_de.piwik = window.patOtaz_de.piwik || new (function (debug) { // for a better readability Array.prototype.clone = Array.prototype.slice; // ES6 features var hasHistoryApi = function() { if ( history && history.replaceState instanceof Function ) return true; return false; }; // === private static members var version = "patOtaz_de.piwik-0.6", debug = debug || false; // === logging in debug mode or from outside var log = function(args) { if ( debug && arguments.length ) { var items = []; Array.prototype.push.apply( items, arguments ); console.log( "PIWIK-LOG:", items ); } return true; }; // === clean up strings with a whitelist var removeCharsWithWhitelist = function(validChars, inputString) { var regex = new RegExp( '[^'+ validChars +']', 'g' ); return inputString.replace( regex, '' ); }; // === clean up #matomo url fragment and return matomo part var removeHashParam = function(fragment_key) { if ( fragment_key === undefined ) return ''; // console.log('fragment_key ', fragment_key); var href = location.href; var href_base = href.split('#')[0]; var fragment_pos = href.indexOf('#'); var fragment_full = href.substring( fragment_pos +1 ); if ( fragment_pos >0 && fragment_key.length >0 ) { var fragment_regex = new RegExp( '(.*?)#?'+ fragment_key +':([^#]+)#?(.*)' ); var fragment_match = fragment_full.match( fragment_regex ); if ( fragment_match ) { var fragment_this = fragment_match[2]; var fragment_lhs = fragment_match[1]; var fragment_rhs = fragment_match[3]; var fragment_cleaned = ( fragment_lhs ? fragment_lhs : '' )+( fragment_lhs && fragment_rhs ? '#' : '' )+( fragment_rhs ? fragment_rhs : '' ); if ( fragment_this.length >0 ) { // var new_href = href_base +( !fragment_lhs && !fragment_rhs ? '' : '#' )+ fragment_cleaned; // if ( hasHistoryApi ) history.replaceState( {}, document.title, new_href ); return fragment_this; } } } return ''; }; // === track search results list page var trackSiteSearch = function(keyword, category, count) { var tmp = Array.prototype.clone.call( arguments ); tmp.unshift("trackSiteSearch"); _paq.push( tmp ); log( "search result", { keyword:keyword, category:category, count:count } ); return true; }; // === track funnels var trackFunnel = function(funnel, category) { if ( funnel.length ) { _paq.push([ 'trackEvent', category, 'Funnel', funnel ]); log( "goal event", { funnel:funnel, category:category } ); } return true; }; // === track events var trackEvent = function(category, action, name, value) { var tmp = Array.prototype.clone.call( arguments ); tmp.unshift("trackEvent"); _paq.push( tmp ); log( "event", { category:category, action:action, name:name, value:value } ); return true; } // === debugging log( version ); // === public interface this.log =log; this.removeHashParam =removeHashParam; this.trackSiteSearch =trackSiteSearch; this.trackFunnel =trackFunnel; this.trackEvent =trackEvent; // this.trackPageType =trackPageType; })(false); // patOtaz_de.piwik // ====================================================== piwik bucket === // window._paq = window._paq || []; // ====================================================== piwik setup === // (function(){ // === private members // changed by mar: web vs moby can not be serverside: p = patOtaz_de.piwik, o = { version : "0.6" // String , piwik_script : "https://taz.de/stats/piwik.php" // String , page_id_enc : "bd8182f9-0363-4f43-936f-7a2f0666b18c" // String , page_title_enc : "bd8182f9-0363-4f43-936f-7a2f0666b18c - All%20you%20can%20read" , custom_url_enc : "/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c" // String , channel : marOtaz_de.isMobile() ? 'moby' : 'web' , area : "Verlag" // String , department : "taz-zahl-ich" // String , piwik_site_id : "1" , is_tag : false // Boolean , is_article : false // Boolean , has_tags : false // Boolean -- careful: strange behaviour when using 'true' or 'false' as string. when serverside boolean is false than this will lead to Boolean(""), what is false in the end. }; // === url decode strings o.page_id =decodeURIComponent( o.page_id_enc ); o.page_title =decodeURIComponent( o.page_title_enc ); o.custom_url =decodeURIComponent( o.custom_url_enc ); // === page title !function( node ) { try { var id = node.getAttribute('data-id').toString() , title = node.getAttribute('content').toString() ; o.title = ( id.length >0 && title.length >0 ) ? id +": "+ title : "ZOMBIE"; } catch (err) { o.title = "ZOMBIE"; console.log("ERROR-piwik: page title"); } } ( document.head.querySelector( 'meta[ name="taz:title" ]' ) ); // === page url o.url = location.href; // === process and clean #matomo fragment, if present o.url_fragment = decodeURIComponent( p.removeHashParam('matomo') ); if ( o.url_fragment.length >0 ) o.custom_url += '#'+ o.url_fragment; // === track tags if ( o.is_article && o.has_tags ) { o.tag_list=[]; o.tag_list.toString = function() { var string=""; // Get tag title and concat. So that no permutations are stored for the same set of tags, pull tag titles sorted by their id. this.sort( function(a,b){ return ( parseInt(a.id) - parseInt(b.id) ) } ).forEach( function(tag){ string += tag.title +";" }); return string; }; !function( tag_list ) { var count=0; try { tag_list.forEach( function(tag) { o.tag_list.push({ title :tag.getAttribute('content') ,id :tag.getAttribute('data-tag-id') ,category :tag.getAttribute('data-tag-category')? tag.getAttribute('data-tag-category'): "PLAIN-VANILLA" }); count++; }); if (count===0) o.tag_list.push({ title:'ZOMBIE', id:0, category:'ZOMBIE' }); o.tag_list.string = o.tag_list.toString(); // console.log("tag_list", o.tag_list); } catch(err) { o.tag_list.push({ title:'ZOMBIE', id:0, category:'ZOMBIE' }); console.log("ERROR-piwik: tag_list"); } }( document.head.querySelectorAll("meta[name='taz:tag']") ); } // === setup piwik bucket _paq.push([ "setCustomUrl" ,o.custom_url ]); _paq.push([ "setDocumentTitle" ,o.page_title ]); // debug parameters //console.log('piwik setup', o); _paq.push([ "setCustomVariable" ,1 ,"channel" ,o.channel ,"page" ]); _paq.push([ "setCustomVariable" ,2 ,"area" ,o.area ,"page" ]); _paq.push([ "setCustomVariable" ,3 ,"department" ,o.department ,"page" ]); if ( o.is_article && o.has_tags ) _paq.push([ "setCustomVariable", 4, "tag", o.tag_list.toString(), "page" ]); _paq.push([ "trackPageView" ]); _paq.push([ "enableLinkTracking" ]); // === load and setup piwik tracking (function() { var d=document , g=d.createElement("script") , s=d.getElementById("piwik-init") ; _paq.push([ "setTrackerUrl" ,o.piwik_script ]); _paq.push([ "setSiteId" ,o.piwik_site_id ]); g.type = "text/javascript"; g.id = "piwik-loaded"; g.async = true; g.defer = true; g.src = "https://taz.de/lib/share/js/piwik.js"; g.onload = function() { p.log( 'setup', o ) } s.parentNode.insertBefore( g, s ); })(); // === tag tracking if ( o.is_article && o.has_tags ) { o.tag_list.forEach( function(tag) { p.trackEvent( "TAG", "TAG-ARTICLE-"+ tag.category, "TAG - t"+ tag.id +": "+ tag.title ) }); } if ( o.is_tag ) { p.trackEvent( "TAG", "TAG-LANDINGPAGE", "TAG - "+ o.title ); } // === debugging //p.log( _paq ); // remove hash: see #16555 // this is running for the way from one url to another, but not for more if( location.hash.indexOf('#!formfill:') ==0 || location.hash.indexOf('#matomo:') ==0 ) { if( history && history.replaceState instanceof Function ){ history.replaceState({}, document.title, location.href.split('#')[0] ); } } })(); // piwik setup // some events taken from olf frontend (custom-piwik.js) function trackEventBasedOnCondition(selector, category, action, name) { if (document.querySelector(selector)) { //console.log('trackEvent', category, action, name); p.trackEvent(category, action, name); } } function trackClickEvent(selector, category, action, name) { document.addEventListener("click", function(event) { if (event.target.closest(selector)) { p.trackEvent(category, action, name); } }); } document.addEventListener("DOMContentLoaded", function() { setTimeout(function() { trackEventBasedOnCondition("body.isArticle", 'element', 'displayed', document.querySelector("#tzi-paywahl-fg") ? 'ARTIKELAUFRUF_mit_Layer' : 'ARTIKELAUFRUF_ohne_Layer');}, 1000); trackEventBasedOnCondition("body.isAuthor", 'element', 'displayed', 'AUTHOR-PAGE'); trackEventBasedOnCondition("body.isArticle", 'element', 'displayed', 'ARTIKELAUFRUF'); trackEventBasedOnCondition("body.isLongread", 'element', 'displayed', 'ARTIKELAUFRUF-LONGREAD'); trackClickEvent("#tzi-paywahl-fg .tzi-paywahl__yes", 'tzi', 'clicked', 'LAYER-JA'); trackClickEvent("#tzi-paywahl-fg .tzi-paywahl__close", 'tzi', 'clicked', 'LAYER-GERADE-NICHT'); trackClickEvent("#tzi-paywahl-fg .tzi-paywahl__subscriber", 'tzi', 'clicked', 'LAYER-SCHON-DABEI'); trackClickEvent("#tzi-shackle .tzi-shackle__yes", 'tzi', 'clicked', 'LASCHE-JA'); // bestr place for this? document.body.classList.add('js-is-active'); // css helpers + feature detection here if (CSS.supports('selector(:has(*))')) { document.body.classList.add('css-has-supported'); } else { document.body.classList.add('css-has-not-supported'); } }) </script> </meta></meta></meta></meta></meta></meta></meta></meta></meta></meta></meta></meta></meta></meta></meta></head> <noscript> <style> .scroll-button { display: none; } .navbar-second-level{ overflow-x: auto } </style> </noscript> <div x-cloak="" class="header-nav-wing " :class="wingIsActive ? 'is-active' : ''"> <nav class="header-nav-wing-inner is-align-items-flex-start p-small pt-medium pb-xlarge" :class="closing ? ' closing ' : ''" aria-label="Hauptnavigation" x-data="{closing: false}" @click.outside="wingIsActive = false"> <div class="is-flex is-align-items-center "> <form x-data="{searchWord: ''}" role="search" class="taz-wing-search full mgr-medium is-flex is-align-items-center " method="POST" action="https://taz.de/!s=/"> <input @keyup=" searchWord = $el.value.toLowerCase()" name="s" minlength="2" required="required" type="text" id="wing-search" class=" ph-medium full taz-wing-search__input has-background-light-button has-text-text" placeholder="taz.de durchsuchen" aria-label="Inhalte suchen"> <button type="submit" class="icon pl-medium pr-small center suche_redhov small " style="margin-left: -100px; height: 24px"></button> </input></form> <button type="button" @click="closing = true" @click.debounce="wingIsActive = false; closing = false" role="button" class="mgl-auto icon small close_redhov wing-close-button" aria-label="close"></button> </div> <div class="mgt-medium dotted-inline"></div> <div class="is-flex is-align-items-center is-justify-content-center"> <a x-data="{allowTransform: true}" href="/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/#matomo:pk_campaign=tzi-Standard&pk_source=taz.de&pk_medium=taz.de-Redaktion&pk_content=aus-kampagne&pk_kwd=tzi-standardkampagne&pk_placement=cta-button-nav" x-init="$el.setAttribute('href', $el.getAttribute('href') + '&amp;via=cta-button-nav'); if ($($el).closest('.header-nav-wing').length || $($el).closest('.navbar-start').length) { allowTransform = false}" title="Niemand muss taz lesen. Aber wer will, kann. Unser Journalismus ist nicht nur 100 % konzernfrei, sondern auch kostenfrei zugänglich. Texte, die es nicht allen recht machen und Stimmen, die man woanders nicht hört – immer aus Überzeugung und hier auf taz.de ohne Paywall. Das ist dank Ihrer Unterstützung möglich!" style="min-width: 0; padding-top: 8px; padding-bottom: 8px;" class=" button ph-xsmall mgt-0 mgl-small-mobile mgr-small is-flex is-align-items-center is-flex-shrink-0 pulse-animation ph-medium line-height-reset navbar-second-level-link t-decoration-none has-text-white typo-teaser-text-secondary-bold pr-small-mobile pl-small-medium-mobile" :class="[(isMobile || isScrolled) && allowTransform ? '' : 'has-background-tzi', !allowTransform ? ' full mgt-medium is-justify-content-center ' : '']"> <span class="icon no-hover mgr-xsmall small" :class="(isMobile || isScrolled) && allowTransform ? 'heart_tzi_darkhov ' : 'heart_white_redhov '"></span> <span class="navbar-second-level-link-inner is-flex-shrink-0" :class=" (isMobile || isScrolled) && allowTransform ? ' is-hidden' : ''"> taz zahl ich </span> </a> </div> <ul class=" mgt-medium is-flex is-flex-direction-column "> <li class="pv-small level-0 first-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="https://taz.de/Politik/!p4615/"> politik </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Politik/Deutschland/!p4616/"> deutschland </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Politik/Europa/!p4617/"> europa </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Politik/Amerika/!p4618/"> amerika </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Politik/Afrika/!p4621/"> afrika </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Politik/Asien/!p4619/"> asien </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Politik/Nahost/!p4620/"> nahost </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Politik/Netzpolitik/!p4622/"> netzpolitik </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="https://taz.de/Oeko/!p4610/"> öko </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Oeko/Oekonomie/!p4623/"> ökonomie </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Oeko/Oekologie/!p4624/"> ökologie </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Oeko/Arbeit/!p4629/"> arbeit </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Oeko/Konsum/!p4625/"> konsum </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Oeko/Verkehr/!p4628/"> verkehr </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Oeko/Wissenschaft/!p4636/"> wissenschaft </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Oeko/Netzoekonomie/!p4627/"> netzökonomie </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="https://taz.de/Gesellschaft/!p4611/"> gesellschaft </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Alltag/!p4632/"> alltag </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Reportage-und-Recherche/!p5265/"> reportage und recherche </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Debatte/!p4633/"> debatte </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Kolumnen/!p4634/"> kolumnen </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Medien/!p4630/"> medien </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Bildung/!p4635/"> bildung </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Gesundheit/!p4637/"> gesundheit </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Reise/!p4638/"> reise </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Gesellschaft/Podcast/!p5334/"> podcasts </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="https://taz.de/Kultur/!p4639/"> kultur </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Kultur/Musik/!p4640/"> musik </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Kultur/Film/!p4641/"> film </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Kultur/Kuenste/!p4642/"> künste </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Kultur/Buch/!p4643/"> buch </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Kultur/Netzkultur/!p4631/"> netzkultur </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="https://taz.de/Sport/!p4646/"> sport </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pt-small first-item last-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Sport/Kolumnen/!p4648/"> kolumnen </a> </li> </ul> </details> </li> <li class="full level-0 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class="full typo-drawer-head-section" href="https://taz.de/Berlin/!p4649/"> berlin </a> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="https://taz.de/Nord/!p4650/"> nord </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Nord/Hamburg/!p4651/"> hamburg </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Nord/Bremen/!p4652/"> bremen </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Nord/Kultur/!p4653/"> kultur </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="https://taz.de/Wahrheit/!p4644/"> wahrheit </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/bei-Tom/!t5180734/"> bei tom </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/Ueber-die-Wahrheit/!5068762/"> über die wahrheit </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-1 mobile-order-1 " style="border-top: .2px solid #565656"> <details> <summary class="is-flex"> <a class="typo-drawer-head-section full " href="/Themen/!p5360/"> themen </a> <div class="vertical-line-left-before ph-small is-relative " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/Schwerpunkt-Nahost-Konflikt/!t5007999/"> nahost-konflikt </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/Schwerpunkt-USA-unter-Donald-Trump/!t5079612/"> usa unter donald trump </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/BSW/!t5017764/"> bsw </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/Wirtschaftskrise/!t5008298/"> wirtschaftskrise </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/Schwerpunkt-Femizide/!t5514275/"> femizide </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/Schwerpunkt-Krieg-in-der-Ukraine/!t5008150/"> krieg in der ukraine </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/Schwerpunkt-Bundestagswahl-2025/!t5007549/"> bundestagswahl 2025 </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="/Podcast-Bundestalk/!t5780050/"> podcast „bundestalk“ </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 has-background-highlighted mgl-large-negative pl-large mgr-large-negative pr-large "> <details open="&#34;open&#34;"> <summary class="is-flex" @click.prevent="&#34;&#34;"> <a class="typo-drawer-head-section full "> verlag </a> <div class="vertical-line-left-before ph-small is-relative is-hidden " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/verlag/!v=5ee91bd4-22a3-4490-b2be-5bcf10f38f53/"> verlag </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/veranstaltungen/!v=a0be61fd-26bc-43aa-b2ef-0e030355a949/"> veranstaltungen </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://shop.taz.de/"> shop </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/fragen-amp-hilfe/!v=673b67c7-bf6c-44de-9d7d-b86c5a620288/"> fragen &amp; hilfe </a> </li> </ul> </details> </li> <li class="pv-small level-0 tablet-order-6 mobile-order-6 last-item has-background-highlighted mgl-large-negative pl-large mgr-large-negative pr-large "> <details open="&#34;open&#34;"> <summary class="is-flex" @click.prevent="&#34;&#34;"> <a class="typo-drawer-head-section full "> unterstützen </a> <div class="vertical-line-left-before ph-small is-relative is-hidden " style="width: 24px; height: 24px; "> <span class=" icon small show_more_grey_redhov no-hover"></span> </div> </summary> <ul> <li class="full level-1 pv-small first-item tablet-order-6 mobile-order-6 mgt-small" style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/abo/!v=2f71d22a-827d-4693-a3aa-1d7225a94c26/"> abo </a> </li> <li class="full level-1 pv-small tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://taz.de/genossenschaft/!v=45dd710a-25d1-45d5-bcf5-fce24b72cbf2/"> genossenschaft </a> </li> <li class="full level-1 pt-small last-item tablet-order-6 mobile-order-6 " style="border-top: .2px solid #565656"> <a class=" full typo-drawer-subsection pv-small" href="https://epaper.taz.de/"> epaper login </a> </li> </ul> </details> </li> </ul> </nav> </div> <body class=" multi-module body taz-sector-corp " x-data="{menuIsActive: false, wingIsActive: false , isMobile: (window.innerWidth < 768) ? true : false, isScrolled: false, roles: {}, head_nav__right_side_html_mobile: ! this.isMobile ? $('#head_nav__right_side.default').html() : '', head_nav__right_side_html_mobile_funnel: ! this.isMobile ? $('#head_nav__right_side.funnel').html() : '', }" id="body" @update-message.window="message = $event.detail" x-on:scroll.window.throttle.50ms="isScrolled = marOtaz_de.isScrolled()" x-on:resize.window.throttle.200ms="isMobile = (window.innerWidth < 768) ? true : false" x-init="if (typeof window.__tcfapi === 'undefined') {$el.classList.add('prevent-ad-empty-space')}; setTimeout(function() {$el.classList.add('waited2sec') }, 2000); " :class="[ menuIsActive || wingIsActive ? 'is-clipped' : '', typeof $store.campaign !== 'undefined' && typeof $store.campaign.pagesShow !== 'undefined' && $store.campaign.pagesShow['form-wrapper'] === true ? 'isCampaign' : '']" data-pageId="bd8182f9-0363-4f43-936f-7a2f0666b18c"> <noscript> <style> taz-header:not(:defined) { min-height: 0 !important; } .taz-header-container { position: static !important } picture > *:not(noscript) { display: none !important } .randomizeList-0.is-hidden:first-of-type, .randomizeList-1.is-hidden:first-of-type{ display: flex !important } .readMoreContent-wrapper>.readMoreContent { max-height: fit-content !important } .no-js-show { display: block !important } </style> </noscript> <div class="container is-max-desktop has-background-white allg_kampagne" :class="isMobile ? 'isMobile' : 'isNotMobile'"> <nav x-show="$store.campaign.pagesShow['form-wrapper'] !== true" @scroll="if (isMobile) $($el).appendTo($refs.containerMobileSecondLevel)" class="navbar navbar-first-level sticky mg-0 " role="navigation" aria-label="main navigation"> <div class="is-flex is-align-items-center navbar-first-level-inner-wrapper"> <a href="https://taz.de" class="taz-header-container not-funnel is-flex-shrink-0"> <picture class="is-flex"> <source media="(max-width: 767px)" width="104" height="55" srcset="/lib/taz-verlag-node/icons/M_taz_Logo-min.svg"></source> <source media="(min-width: 768px)" width="167" height="88" srcset="/lib/taz-verlag-node/icons/DT_taz_logo-min.svg"></source> <img class="taz-header" width="167" height="88" src="/lib/taz-verlag-node/icons/DT_taz_logo-min.svg" alt="taz logo"></img> <noscript> <img class="taz-header" width="100" height="55" src="/lib/taz-verlag-node/icons/DT_taz_logo-min.svg" alt="taz logo"></img> </noscript> </picture> </a> <div id="head_nav__right_side" class="default is-inline-block mgl-auto-mobile is-hidden-tablet "> <a x-data="{allowTransform: true}" href="/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/#matomo:pk_campaign=tzi-Standard&pk_source=taz.de&pk_medium=taz.de-Redaktion&pk_content=aus-kampagne&pk_kwd=tzi-standardkampagne&pk_placement=cta-button-nav" x-init="$el.setAttribute('href', $el.getAttribute('href') + '&amp;via=cta-button-nav'); if ($($el).closest('.header-nav-wing').length || $($el).closest('.navbar-start').length) { allowTransform = false}" title="Niemand muss taz lesen. Aber wer will, kann. Unser Journalismus ist nicht nur 100 % konzernfrei, sondern auch kostenfrei zugänglich. Texte, die es nicht allen recht machen und Stimmen, die man woanders nicht hört – immer aus Überzeugung und hier auf taz.de ohne Paywall. Das ist dank Ihrer Unterstützung möglich!" style="min-width: 0; padding-top: 8px; padding-bottom: 8px;" class=" button ph-xsmall mgt-0 mgl-small-mobile mgr-small is-flex is-align-items-center is-flex-shrink-0 pulse-animation ph-medium line-height-reset navbar-second-level-link t-decoration-none has-text-white typo-teaser-text-secondary-bold pr-small-mobile pl-small-medium-mobile" :class="[(isMobile || isScrolled) && allowTransform ? '' : 'has-background-tzi', !allowTransform ? ' full mgt-medium is-justify-content-center ' : '']"> <span class="icon no-hover mgr-xsmall small" :class="(isMobile || isScrolled) && allowTransform ? 'heart_tzi_darkhov ' : 'heart_white_redhov '"></span> <span class="navbar-second-level-link-inner is-flex-shrink-0" :class=" (isMobile || isScrolled) && allowTransform ? ' is-hidden' : ''"> taz zahl ich </span> </a> </div> <button @click.debounce.100ms="wingIsActive = true" class="is-hidden-tablet cursor-pointer mgr-small wing-open-button" role="button"> <span class="icon menu_suche_redhov medium"> </span> </button> </div> <div x-bind:class="{ 'is-active': menuIsActive }" id="head-navbar" class="ph-gap navbar-menu is-align-items-center hasMultiply has-background-light-button mgr-0"> <div class="ph-gap-mobile mgb-xxlarge-mobile full pt-small-mobile is-flex is-flex-direction-column-mobile"> <div class="navbar-start typo-navigation-menu "> <a class="invisible p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex navbar-link is-arrowless " href="#hauptnavigation">Hautnavigation anspringen</a> <a class="invisible p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex navbar-link is-arrowless " href="#hauptinhalt">Hauptinhalt anspringen</a> <a class="invisible p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex navbar-link is-arrowless " href="#footer">Footer anspringen</a> <div class="is-hidden-tablet mgb-large "> <div class="is-flex"> <a x-data="{allowTransform: true}" href="/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/#matomo:pk_campaign=tzi-Standard&pk_source=taz.de&pk_medium=taz.de-Redaktion&pk_content=aus-kampagne&pk_kwd=tzi-standardkampagne&pk_placement=cta-button-nav" x-init="$el.setAttribute('href', $el.getAttribute('href') + '&amp;via=cta-button-nav'); if ($($el).closest('.header-nav-wing').length || $($el).closest('.navbar-start').length) { allowTransform = false}" title="Niemand muss taz lesen. Aber wer will, kann. Unser Journalismus ist nicht nur 100 % konzernfrei, sondern auch kostenfrei zugänglich. Texte, die es nicht allen recht machen und Stimmen, die man woanders nicht hört – immer aus Überzeugung und hier auf taz.de ohne Paywall. Das ist dank Ihrer Unterstützung möglich!" style="min-width: 0; padding-top: 8px; padding-bottom: 8px;" class=" button ph-xsmall mgt-0 mgl-small-mobile mgr-small is-flex is-align-items-center is-flex-shrink-0 pulse-animation ph-medium line-height-reset navbar-second-level-link t-decoration-none has-text-white typo-teaser-text-secondary-bold pr-small-mobile pl-small-medium-mobile" :class="[(isMobile || isScrolled) && allowTransform ? '' : 'has-background-tzi', !allowTransform ? ' full mgt-medium is-justify-content-center ' : '']"> <span class="icon no-hover mgr-xsmall small" :class="(isMobile || isScrolled) && allowTransform ? 'heart_tzi_darkhov ' : 'heart_white_redhov '"></span> <span class="navbar-second-level-link-inner is-flex-shrink-0" :class=" (isMobile || isScrolled) && allowTransform ? ' is-hidden' : ''"> taz zahl ich </span> </a> </div> </div> <div class="is-flex "> <a href="/!v=5ee91bd4-22a3-4490-b2be-5bcf10f38f53/" title="verlag" role="link" class="p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex full is-justify-content-right navbar-link is-arrowless "> verlag </a> </div> <hr class="decent"></hr> <div class="is-flex "> <a href="/!v=a0be61fd-26bc-43aa-b2ef-0e030355a949/" title="veranstaltungen" role="link" class="p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex full is-justify-content-right navbar-link is-arrowless "> veranstaltungen </a> </div> <hr class="decent"></hr> <div class="is-flex "> <a target="_blank" rel="noopener" href="https://shop.taz.de/" title="shop" role="link" class="p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex full is-justify-content-right navbar-link is-arrowless "> shop </a> </div> <hr class="decent"></hr> <div class="is-flex "> <a href="/!v=673b67c7-bf6c-44de-9d7d-b86c5a620288/" title="fragen &amp; hilfe" role="link" class="p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex full is-justify-content-right navbar-link is-arrowless "> fragen &amp; hilfe </a> </div> </div> <div class="mgt-small-mobile mgl-auto-tablet mgl-auto-desktop navbar-end typo-navigation-menu-2 is-hoverable"> <div class="is-flex "> <a href="/!v=2f71d22a-827d-4693-a3aa-1d7225a94c26/" title="abo" role="link" class="p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex full is-justify-content-right navbar-link is-arrowless "> abo </a> </div> <hr class="decent"></hr> <div class="is-flex "> <a href="/!v=45dd710a-25d1-45d5-bcf5-fce24b72cbf2/" title="genossenschaft" role="link" class="p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex full is-justify-content-right navbar-link is-arrowless "> genossenschaft </a> </div> <hr class="decent"></hr> <div class="is-flex "> <a target="_blank" rel="noopener" href="https://epaper.taz.de/" title="epaper login" role="link" class="p-0 pr-small mgr-xsmall pv-xsmall navbar-second-level-link is-flex full is-justify-content-right navbar-link is-arrowless "> epaper login </a> </div> </div> </div> </div> </nav> <nav x-show="$store.campaign.pagesShow['form-wrapper'] === true " data-nosnippet="" x-cloak="" x-data="{ isActive: false}" class="navbar navbar-first-level mg-0 " role="navigation" aria-label="main navigation"> <div class="head_nav__right_side-wrapper is-flex is-align-items-center "> <a href="https://taz.de" x-show="$store.campaign.pagesShow['form-wrapper'] === true" class="taz-header-container funnel"> <picture class="is-flex"> <source media="(max-width: 767px)" width="104" height="55" srcset="/lib/taz-verlag-node/icons/M_taz_Logo-min.svg"></source> <source media="(min-width: 768px)" width="167" height="88" srcset="/lib/taz-verlag-node/icons/DT_taz_logo-min.svg"></source> <img class="taz-header" width="167" height="88" src="/lib/taz-verlag-node/icons/DT_taz_logo-min.svg" alt="taz logo"></img> <noscript> <img class="taz-header" width="100" height="55" src="/lib/taz-verlag-node/icons/DT_taz_logo-min.svg" alt="taz logo"></img> </noscript> </picture> </a> <div id="head_nav__right_side" class="funnel funnel_kontakt is-inline-block mgl-auto-mobile is-hidden-tablet "> <div class="is-flex "> <div class=" has-text-right is-flex is-flex-direction-column is-justify-content-center mgr-small"> <p class=" has-text-main typo-teaser-text-bold"> Sie haben Fragen? </p> <p class="hours mgb-0 typo-teaser-text"> Mo-Fr, 10-16 Uhr </p> </div> <div> <a href="tel:+49 (0) 30 - 25902 - 959" class="border-radius-mobile infolist mgr-small-mobile pv-small has-background-main-background-light has-background-main-light-hover has-background-main-light-active"> <span class="mgh-small icon small telephone_redhov no-hover center"></span> <span class="typo-link-large is-hidden-mobile mgr-small">+49 (0) 30 - 25902 - 959</span> </a> </div> </div> </div> </div> </nav> <header class="header sticky"> <div class="header-background-container"> <div class=" portal-and-second-level-wrapper is-align-items-center full is-flex "> <p x-show="typeof $store.campaign !== 'undefined' && $store.campaign.pagesShow['form-wrapper'] !== true" class="ph-gap ph-gap-mobile has-color-color-text typo-navigation-header portal-header "> <span class="is-inline-block is-lowercase typo-r-pagetitle "> taz zahl ich </span> </p> <div class=" navbar-second-level-wrapper full "> <nav x-show="$store.campaign.pagesShow['form-wrapper'] !== true" id="hauptnavigation" class="is-flex-shrink-1 ph-gap navbar-second-level typo-navigation-menu is-align-items-center overflow-scroll" x-data="navbarScroll()" x-init="updateScrollButtons()"> <button class="scroll-button is-hidden-mobile left typo-r-header-schwerpunkt-small has-text-text has-background-white" x-show="isOverflowing && showLeftButton" x-cloak="" @click="scrollLeft()" aria-label="Scroll Left"> <span class="icon small read_less_grey_redhov center"></span> </button> <div class="navbarScrollbar" x-ref="navbarScrollbar" @scroll="updateScrollButtons()" @resize.window="updateScrollButtons()"> <a href="/taz-zahl-ich/!v=89a68133-aa34-42d3-9f80-01ebd7e1738b/" title="Start" role="link" class="is-flex is-align-items-center pr-small mgr-xsmall is-flex is-flex-shrink-0 line-height-reset navbar-second-level-link "> <span class="navbar-second-level-link-inner ">Start</span> </a> <a href="/taz-zahl-ich/Zahlen--Fakten/!v=871f9857-26f2-462b-80db-aea3dae73722/" title="Zahlen &amp; Fakten" role="link" class="is-flex is-align-items-center pr-small mgr-xsmall is-flex is-flex-shrink-0 line-height-reset navbar-second-level-link "> <span class="navbar-second-level-link-inner ">Zahlen &amp; Fakten</span> </a> <a href="/taz-zahl-ich/Fragen--Hilfe/!v=3c79a4e4-6045-42f4-a599-c9e5971f3017/" title="Fragen &amp; Hilfe" role="link" class="is-flex is-align-items-center pr-small mgr-xsmall is-flex is-flex-shrink-0 line-height-reset navbar-second-level-link "> <span class="navbar-second-level-link-inner ">Fragen &amp; Hilfe</span> </a> </div> <button class="scroll-button is-hidden-mobile right typo-r-header-schwerpunkt-small has-text-text has-background-white" x-show="isOverflowing && showRightButton" @click="scrollRight()" x-cloak="" aria-label="Scroll Right"> <span class="icon small read_more_grey_redhov center"></span> </button> </nav> <div class="is-flex-shrink-0 is-hidden-mobile mgl-auto" x-html="$store.campaign.pagesShow['form-wrapper'] !== true ? head_nav__right_side_html_mobile : head_nav__right_side_html_mobile_funnel "> </div> <button @click.debounce="wingIsActive = true" x-show="$store.campaign.pagesShow['form-wrapper'] !== true" class=" is-hidden-mobile mgr-small cursor-pointer" role="button"> <span class="icon menu_suche_redhov medium"></span> </button> <div x-ref="containerMobileSecondLevel"></div> </div> <script> function navbarScroll() { return { isOverflowing: false, showLeftButton: false, showRightButton: true, updateScrollButtons() { const navbar = this.$refs.navbarScrollbar; this.isOverflowing = navbar.scrollWidth > navbar.clientWidth; this.showLeftButton = navbar.scrollLeft > 0; this.showRightButton = navbar.scrollLeft + navbar.clientWidth < navbar.scrollWidth; }, scrollLeft() { const navbar = this.$refs.navbarScrollbar; navbar.scrollBy({ left: -250, behavior: 'smooth' }); this.updateScrollButtons(); }, scrollRight() { const navbar = this.$refs.navbarScrollbar; navbar.scrollBy({ left: 250, behavior: 'smooth' }); this.updateScrollButtons(); } } } </script> </div> <div class="header-widget-collision"></div> </div> </header> <main id="hauptinhalt" class="main" data-role="initial-display" data-xml-entry-tagName="page" x-show="$store.campaign.pagesShow['initial-display']"> <script> // global alpine store: like x-data for whole page document.addEventListener('alpine:init', () => { Alpine.store('campaign', { // taken from xml kampagnenid : 'bd8182f9-0363-4f43-936f-7a2f0666b18c', kampagneUrlParam: function() { return this.kampagnenid !== '' ? '&kampagnenid=' : ''; }, //form hnesk expects 0 when empty selectedPraemienid: 0, selectedPraemieHtml: null, productAndPraemieHtml: null, formId: 'tzi_CiviCRM-Mitglied-Werden-1Schritt', statamicCollection: 'kampagnen', statamicBlueprint: 'allg_kampagne', productAndPraemieSummaryHtml: null, // not in use for frontend. Only here for future maybe laufzeit: function(){ if('' != '') return 'Laufzeit: ' + '' + ' Wochen'; if('' != '') { let isoDate = new Date(''); let deutschLocalDate = isoDate.toLocaleDateString('de-DE', {timeZone: 'Europe/Berlin'}); return 'Laufzeit bis: ' + deutschLocalDate }; }, bountyState: function() { if( this.selectedPraemienid === 0 && this.pagesShow['bounty-select'] === true && this.inModal !== true ) return 'teaser'; if(( this.inModal === true && this.pagesShow['bounty-select'] === true) || (this.praemienLength === 1 && this.pagesShow['bounty-select'] === true)) return 'detail'; if(( this.selectedPraemienid !== 0 && this.pagesShow['bounty-select'] === true) ) return 'selected'; if( this.pagesShow['form-wrapper'] ) return 'summary'; }, praemienLength: 0, campaignNoLandingPage: false, campaignDoNotHideForm: true, summaryProductTitle: 'All you can read', summaryBountyTitle: '', // set when selected summaryProductPicHtml: $('.campaign__product').first().find('figure.image').prop('outerHTML'), summaryBountyPicHtml: '',// set when selected summaryBountyZuzahlung: '',// set when selected summaryBountyAboPreis: '',// set when selected selectedVariante: 0, selectedVarianteName: '', selectedPrice: 0, // special case: fixed price was delivered by a hidden Praemie fixedAbopriceNoPramie: '0', inModal: false, // change this ternary if querys are not wished by forms when no variante / praemie praemieUrlParam: function() { return this.selectedPraemienid !== 0 ? '&praemienid=' : '&praemienid='; }, varianteUrlParam: function() { return this.selectedVariante !== 0 ? '&praemienvariante=' : '&praemienvariante='; }, formActionAllParams: function() { return this.kampagneUrlParam() + this.kampagnenid + this.praemieUrlParam() + this.selectedPraemienid +this.varianteUrlParam() + encodeURIComponent(this.selectedVariante.toString().trim() ) }, pagesShow: { "initial-display": true, "form-wrapper": false, "form-success": false, "form-abort": false, "form-error": false, }, }); // change from outside alpine html attributes like so: // Alpine.store('campaign').pagesShow['bounty-select'] = true Alpine.effect(() => { // console.log(Alpine.store('campaign')); // console.log('pagesShow ' + Alpine.store('campaign').pagesShow['bounty-select']); let vewStates = Alpine.store('campaign').pagesShow; let currentView = Object.keys(vewStates).find(key => vewStates[key] === true); let index = $('.container').find('.main[data-role="' + currentView +'"]').index() -1 ; // history.pushState({"index" : index}, currentView ); // console.log("History.state after pushState: ", history.state); }) }); // removed: there was trouble because of this /* window.onpopstate = function() { marOtaz_de.goBackCampaignPage(); }; */ // history.pushState({}, ''); </script> <section class="outerwrapper contains-module-campaign__product has-no-background "> <section x-ref="productAndPraemie" class="module columns is-multiline campaign__product module-campaign__product large contains-product is-first " x-data="{heightOfColumn: [] }"> <div class="pic-column column tablet-order-2 mobile-order-1"> <figure id="" class=" image no-static-aspect-ratio "> <picture style="display: block; " alt="Eine Gabel dreht Textzeilen auf wie Spaghetti. Der Text kommt aus einem darunterliegendem Smartphone, auf dem „taz“ steht."> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/1020/all-you-can-read-noframe.webp" media="(max-device-aspect-ratio: 1/1) and (min-width:750px) and (max-width:1023px) and (-webkit-min-device-pixel-ratio: 1.5)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/665/all-you-can-read-noframe.webp" media="(max-device-aspect-ratio: 1/1) and (max-device-width:550px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/665/all-you-can-read-noframe.webp" media="(min-width: 665px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/650/all-you-can-read-noframe.webp" media="(min-width: 650px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/624/all-you-can-read-noframe.webp" media="(min-width: 624px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/480/all-you-can-read-noframe.webp" media="(min-width: 480px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/395/all-you-can-read-noframe.webp" media="(min-width: 395px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/310/all-you-can-read-noframe.webp" media="(min-width: 310px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/300/all-you-can-read-noframe.webp" media="(min-width: 300px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/140/all-you-can-read-noframe.webp" media="(min-width: 140px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/14/all-you-can-read-noframe.webp" media="(min-width: 14px)" type="image/webp"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/665/all-you-can-read-noframe.png" media="(min-width: 665px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/650/all-you-can-read-noframe.png" media="(min-width: 650px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/624/all-you-can-read-noframe.png" media="(min-width: 624px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/480/all-you-can-read-noframe.png" media="(min-width: 480px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/395/all-you-can-read-noframe.png" media="(min-width: 395px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/310/all-you-can-read-noframe.png" media="(min-width: 310px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/300/all-you-can-read-noframe.png" media="(min-width: 300px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/140/all-you-can-read-noframe.png" media="(min-width: 140px)" type="image/png"></source> <source srcset="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/14/all-you-can-read-noframe.png" media="(min-width: 14px)" type="image/png"></source> <img src="https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/14/all-you-can-read-noframe.png" alt="Eine Gabel dreht Textzeilen auf wie Spaghetti. Der Text kommt aus einem darunterliegendem Smartphone, auf dem „taz“ steht." title="Eine Gabel dreht Textzeilen auf wie Spaghetti. Der Text kommt aus einem darunterliegendem Smartphone, auf dem „taz“ steht."></img> <noscript> <img src=" https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/665/all-you-can-read-noframe.webp" class=" withnocaption" alt="Eine Gabel dreht Textzeilen auf wie Spaghetti. Der Text kommt aus einem darunterliegendem Smartphone, auf dem „taz“ steht."></img> </noscript> </picture> </figure> </div> <div class="text-column column is-one-third-desktop is-4-tablet mobile-order-2"> <p class="headline typo-topline has-text-primary break-word ">Werden Sie Unterstützer:in!</p> <h1 class="headline typo-head-medium"> All you can read </h1> <div class="typo-teaser-text leistungen__wrapper "> Niemand muss taz lesen. Aber wer will, kann. Unser Journalismus ist nicht nur 100 % konzernfrei, sondern auch kostenfrei zugänglich. Texte, die es nicht allen recht machen und Stimmen, die man woanders nicht hört – immer aus Überzeugung und hier auf taz.de ohne Paywall. Das ist dank Ihrer Unterstützung möglich! </div> <div class="sales_container__confirm__wrapper column mgt-auto is-6 is-flex-direction-row pt-0 pb-0 ph-0 " :class="$($el).closest('.campaign__cta_sales_dynamic_counter').length ? 'p-0 ph-gap-mobile mgl-auto mgl-0-mobile' : '' " x-init=" $watch('$store.campaign.selectedPraemienid', (v) => { activateButton(); } ); if ($store.campaign.selectedPraemienid !== 0 || $store.campaign.praemienLength === 0) {activateButton()} function activateButton(){ $($el).find('button[disabled]').removeAttr('disabled'); $($el).find('button.disabled').removeClass('disabled'); } "> <button role="button" x-init="$nextTick(() => { $store.campaign.campaignNoLandingPage && $store.campaign.praemienLength === 0 ? $dispatch('goto-formwrapper') : '' })" @click="$dispatch('goto-formwrapper')" @goto-formwrapper.window=" if ($store.campaign.statamicBlueprint == 'kontakt_kampagne') { document.querySelector(`.module.kontakt`).scrollIntoView({behavior: 'smooth', block: 'center'}); return; } // save dynamic selected data for praemien summary let selectedId = $store.campaign.selectedPraemienid; $store.campaign.summaryBountyPicHtml = $('#' + selectedId).find('figure.image').first().prop('outerHTML'); $store.campaign.summaryBountyTitle = $('#' + selectedId).find('.headline').first().text(); $store.campaign.summaryBountyAboPreis = $('#' + selectedId).find('.abo-preis').first().text(); $store.campaign.summaryBountyZuzahlung = $('#' + selectedId).find('.zuzahlung').first().text(); if ($store.campaign.campaignDoNotHideForm != true ) { // default: close initial display $store.campaign.pagesShow['initial-display'] = false; marOtaz_de.scrollTop(); } else { document.querySelector(`.main[data-role='form-wrapper']`).scrollIntoView({behavior: 'smooth', block: 'start'}); } $store.campaign.pagesShow['bounty-select'] = false; $store.campaign.pagesShow['form-wrapper'] = true; loadForm($store.campaign);" disabled="disabled" class=" primary-button typo-button-text button disabled" :class="[$($el).closest('.campaign__cta_sales_dynamic_counter').length ? 'mgl-0 typo-button-text-tzi primary-button mgt-auto tzi-button button mgt-large-mobile ' : '', $store.campaign.bountyState() == 'teaser' || $store.campaign.bountyState() == 'selected' || ($store.campaign.praemienLength === 1 && $store.campaign.bountyState() == 'detail') ? 'mgt-0 mgh-small' : '' ]"> Jetzt unterstützen </button> </div> <script x-init="$store.campaign.pagesShow['form-wrapper'] = true; loadForm($store.campaign)"></script> </div> </section> </section> <script type="application/ld+json"> {"@context":"https://schema.org/","@type":"Product","name":"Werden Sie Unterstützer:in!: All you can read","description":"Niemand muss taz lesen. Aber wer will, kann. Unser Journalismus ist nicht nur 100 % konzernfrei, sondern auch kostenfrei zugänglich. Texte, die es nicht allen recht machen und Stimmen, die man woanders nicht hört – immer aus Überzeugung und hier auf taz.de ohne Paywall. Das ist dank Ihrer Unterstützung möglich!","image":"https://taz.de/images/p/03/03_tzi_assets/all-you-can-read-noframe/1020/all-you-can-read-noframe.png","offers":{"@type":"Offer","url":"https://taz.de/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/","priceCurrency":"EUR","price":0,"availability":"https://schema.org/InStock"}} </script> <section class="outerwrapper contains-module-bild_text has-no-background "> <section class="module columns bild_text module-bild_text is-centered"> <div class="column mobile-order-2 is-8-desktop is-8-tablet "> <h2 class="headline typo-head-small"> </h2> <div class="typo-subline"> <p class="first paragraph">Die taz berichtet auf allen Kanälen – online ist das <strong>für alle kostenlos</strong>: Ob auf unseren Social Media-Kanälen, taz.de, in unseren Podcasts oder Videoformaten. Wir sind der Überzeugung, dass alle Menschen ein Recht auf unabhängige Informationen haben – egal, ob sie sich ein Abo leisten können oder nicht.</p> <p class="paragraph">Doch damit das so bleiben kann, brauchen wir eure <strong>solidarische Unterstützung</strong>. Macht mit bei <em>taz zahl ich</em> und sichert die Zukunft unseres Journalismus!</p> <p class="paragraph last">Der Beitrag ist <strong>freiwillig</strong> und jederzeit frist- und formlos kündbar. Schreibt einfach eine Mail an: taz-zahl-ich@taz.de</p> </div> </div> </section> </section></main><section x-show="$store.campaign.pagesShow['form-wrapper']" class="main " :class="{ 'is-active': $store.campaign.pagesShow['form-wrapper'] }" x-cloak="" data-xml-entry-point="page" data-role="form-wrapper"> <link rel="stylesheet" type="text/css" media="screen, print" href="/lib/taz-verlag-node/js/bulma-steps/dist/css/bulma-steps.min.css"></link> <script type="text/javascript" src="/lib/taz-verlag-node/js/jquery/dist/jquery.min.js"></script> <section class="outerwrapper has-background-background-forms has-background "> <section x-data="{isMirror: false}" class="module columns form form module-form is-centered " :class="isMirror === false ? 'has-background-background-forms hasMultiply' : 'has-background-white'"> <div class="column is-8 mobile-order-2 form-container"> <style> #micropay .button-bar, #micropay textarea[disabled] { display: none !important; } #micropay .has-background-background-forms { background: none !important } /* last minute fix */ #micropay .campaign-legals { display: none; } </style> <div x-data="{ tab: `regelmaessig` }"> <div x-data="{selected: false }"> <div class="content-nav-wrapper mgb-medium pb-xsmall"> <a @click="tab = 'regelmaessig'" :class="{ 'selected': tab === 'regelmaessig' }" class=" typo-button-text-small-reg content-nav"> <span class="content-nav-text">Regelmäßig</span> </a> <a @click="tab = 'einmal'" :class="{ 'selected': tab === 'einmal' }" class=" typo-button-text-small-reg content-nav"> <span class="content-nav-text">Einmalig</span> </a> </div> </div> <div class="mgt-large" x-show="tab === 'regelmaessig'"> <a data-identifier="80aky91fp" id="tzi_CiviCRM-Mitglied-Werden-1Schritt"></a> </div> <script> function tellOldElementsFormVal(el, target) { let freeFieldWrapperSelected = $(el).find('.selected.freeAmount__wrapper'); let priceView = $(el).find('.euro.input').val(); // console.log('priceView',priceView); // free field selected if (freeFieldWrapperSelected.length) { // pass to old legacy element // free field expects Euro (!) $(el).find('#amtman').val(priceView); $(el).find('#amount ').val(""); } else { // pass to old legacy element // preselected expects Cents (!) // has to live in optiona and in select?? seems like $(el).find('#amount option').val(100 * Number(priceView)); $(el).find('#amount ').val(100 * Number(priceView)); $(el).find('#amtman').val(""); } // prevent paying less than 1 euro if (priceView < 1 || ( freeFieldWrapperSelected.find('.input').val() < 1)) { $(' .tzi-pay-way .content-nav:not(.pay_kto):not(.pay_btc)').addClass('no-pointer-events'); } else { $(' .tzi-pay-way .content-nav').removeClass('no-pointer-events'); } } </script> <div x-init="setTimeout(function() { tellOldElementsFormVal($el) }, 1000); " @click="tellOldElementsFormVal($el, $event.target)" @input="tellOldElementsFormVal($el, $event.target)" x-show="tab === 'einmal' "> <template x-if="navigator.userAgent.match(/GNews/i)"> <div x-data="{tziUrl: 'https://taz.de/Ohne-Ihre-Unterstuetzung-geht-es-nicht/!v=9307ffa6-41d0-4bce-9b12-448a2ca63634/'}" x-init="document.querySelector('#micropay').classList.add('is-hidden')"> <p class="typo-teaser-text-bold"> Sie haben uns über Google News gefunden. Das einmalige Bezahlen ist hier derzeit nicht möglich. Sie können diesen Link stattdessen in einem Web-Browser aufrufen. </p> <input class="button secondary-button typo-button-text" type="text" style="width: 320px" value="In den Zwischenspeicher" @click="marOtaz_de.copyToClipboard(tziUrl)"></input> </div> </template> <form id="micropay" name="micropay" x-data="{ 'thing': { aid: sessionStorage.getItem('tziEinmalZahlenOriginId') || 'Verlag', articleid: sessionStorage.getItem('tziEinmalZahlenOriginId') || 'Verlag', title: sessionStorage.getItem('tziEinmalZahlenOriginTitle') || 'taz.de' } }" x-init=" $nextTick(() => {sessionStorage.removeItem('tziEinmalZahlenOriginTitle') ; sessionStorage.removeItem('tziEinmalZahlenOriginId') })" action="https://taz.de/scripts/taz_zahl_ich/pay_check.php" method="POST"> <input type="submit" disabled="disabled" style="display:none;"></input> <input type="hidden" size="6" id="ppaid" name="aid" :value="thing.aid"></input> <input type="hidden" size="6" id="articleid" name="articleid" :value=" thing.articleid "></input> <input type="hidden" name="atitle" :value="thing.title "></input> <div style="visibility: hidden; height: 0"> <select style=" height: 0" id="amount" name="amount"> <option value=""></option> </select> <input style=" height: 0" size="6" id="amtman" name="amtman" value=""></input> </div> <div x-init="$($el).find('.form-container').addClass('is-12-tablet')"> <link rel="stylesheet" type="text/css" media="screen, print" href="/lib/taz-verlag-node/js/bulma-steps/dist/css/bulma-steps.min.css"></link> <script type="text/javascript" src="/lib/taz-verlag-node/js/jquery/dist/jquery.min.js"></script> <section class="outerwrapper has-background-background-forms has-background "> <section x-data="{isMirror: false}" class="module columns form form module-form is-centered " :class="isMirror === false ? 'has-background-background-forms hasMultiply' : 'has-background-white'"> <div class="column is-8 mobile-order-2 form-container"> <a data-identifier="3szsqwgd9" id="tzi_tzieinmalbezahlenbetragauswahl"></a> </div> </section> </section> <script> // default load form immediately if (false == false) loadForm(); // when storeCampaign is given, load form with params from storeCampaign, contains the id for the form function loadForm(storeCampaign){ // no ajaxify for search form. is handled by login form if ( 'tzi_tzieinmalbezahlenbetragauswahl' === 'arc-search') return; let formCode = ''; let formCodeAttr = 'einmalig'; // when this scope is not enough, ask for form-wrapper: true in storeCampaign let isCampaignForm = Boolean( typeof storeCampaign !== 'undefined'); // MAR: wrapper function "loadForm" added by mar // IMPORTANT params at the end. // code taken from old frontend. comments removed. // purpose: AJAX-pingpong to not open new url for form // uses jquery! is only includes when form appears. Otherwise: cash-dom.js // comments removed. caused whyever js code break. // default : form is loaded initally, no bounty select per campaign form var formId = 'tzi_tzieinmalbezahlenbetragauswahl'; var formSel = '*[data-identifier="3szsqwgd9"]'; var formUrl = '/!form=tzi_tzieinmalbezahlenbetragauswahl;x/'; if ( false == true ) { // console.log('search form'); // find cookie "tazsid" and extract value const regex = /tazsid=(.[^;]*)/ig; const match = regex.exec(document.cookie); const value = match !== null ? match[1] : '0'; ; formUrl = '/!arcsid=' + value + '/' }; // special case: archive (arsid=...) -- in this case complete src should be called. if (false) formUrl = formId; formUrl += '?node=1'; // campaign form is loaded AFTER bounty select from templates if (typeof storeCampaign !== 'undefined' && typeof storeCampaign.formId !== ''){ formUrl = '/!form=' + storeCampaign.formId + ';x/?node=1' + storeCampaign.formActionAllParams(); formSel = '#' + storeCampaign.formId; } // begin param string. is extended later let param = marOtaz_de.isMobile() ? '&mobile=1' : '&mobile=0'; if (formCodeAttr !== '') param += '&code='+ formCodeAttr; if( formCode !== '' ) param += '&code='+ encodeURIComponent( formCode ); // comes from head_matomo.html if ( globalTrackingParam !== '' ) param += globalTrackingParam; // einmal zahlen has stolen the hash. better would be something like session cookie to make it usable for more then one form // why special condition for tzi_tzieinmalbezahlenbetragauswahl? really needed? /* if( location.hash.indexOf('#!formfill:') ==0 && formId !== 'tzi_tzieinmalbezahlenbetragauswahl') { param += '&'+ location.hash.split(':')[1] ; if( history && history.replaceState instanceof Function ){ history.replaceState({}, document.title, location.href.split('#')[0] ); } else { // location.hash =''; } } */ /* if( location.hash.indexOf('#matomo:') ==0 && isCampaignForm ) { param += '&'+ location.hash.split(':')[1].replaceAll('pk_', 'mtm_') ; } */ // alert(" location.hash.indexOf('#matomo:')", location.hash.indexOf('#matomo:')); formUrl += param; /* following script should be replaced by: problem: how to handle url change on post=? await fetchMyDocument(); async function fetchMyDocument() { try { let response = await fetch(formUrl); let toInsert = document.querySelector(formSel); toInsert.innerHTML = await response.text(); } catch (err) { console.log('Fetch error:' + err); } return } */ // token from style/form-ajax.xsl (old "frontend") if (!window.filOtaz_de) window.filOtaz_de = {}; (function() { filOtaz_de || (filOtaz_de = {}); if (filOtaz_de.Href) return; var defineProperty = undefined; if ((function(o) { try { Object.defineProperty(o, 'p', { value: true }); return o.p; } catch (e) { return false; } })({})) defineProperty = Object.defineProperty; else if (Object.prototype.__defineGetter__ instanceof Function) { defineProperty = function(obj, prop, descriptor) { var prop = '' + prop; if (descriptor.get) Object.prototype.__defineGetter__.call(obj, prop, descriptor.get); if (descriptor.set) Object.prototype.__defineSetter__.call(obj, prop, descriptor.set); }; } var Href = filOtaz_de.Href = function(arg) { if (arg instanceof Href) return arg; if (typeof arg == 'undefined') arg = ''; var a = document.createElement('a'); a.href = arg; if (!defineProperty) { a.getParams = proto.getParams, a.setAllParams = proto.setAllParams, a.setParams = proto.setParams; return a; } var me = this; ['href', 'protocol', 'username', 'password', 'host', 'hostname', 'port', 'pathname', 'search', 'hash'].forEach(function(name) { defineProperty(me, name, { get: function() { return a[name]; }, set: function(v) { return a[name] = v; }, enumerable: true, configurable: false }); }); ['origin'].forEach(function(name) { defineProperty(me, name, { get: function() { return a[name]; }, enumerable: true, configurable: false }); }); this.toString = function() { return a.toString(); }; }; var proto = Href.prototype = { getParams: function(k) { if (k === undefined || k === String || k === '') return this.search; if (typeof k === 'string' || k instanceof String) return this.getParams(Object)[k]; if (k === Array || k instanceof Array) return this.search.replace(/^[?]/, '').split('&'); if (k === Object || k instanceof Object) { var o = {}; $.each(this.getParams(Array), function(i, p) { if (!p.length) return; p = p.split('='); o[p.shift()] = p.length ? p.join('=') : true; }); return o; } }, setAllParams: function(params) { if (typeof params !== 'object' || params instanceof String) this.search = params; else if (params instanceof Array) this.search = params.join('&'); else if (params instanceof Object) { var a = []; $.each(params, function(k, v) { if (v === false || v === undefined) return; if (v === true) a.push(k); else a.push(k + '=' + v); }); this.setAllParams(a); } return this; }, setParams: function(param) { if (typeof param !== 'object' || param instanceof String) return this.setParams((new Href).setAllParams(param).getParams(Object)); if (param instanceof Array) return this.setParams((new Href).setAllParams(param).getParams(Object)); if (param instanceof Object) return this.setAllParams($.extend(this.getParams(Object), param)); }, none: null }; })(); (function() { filOtaz_de || (filOtaz_de = {}); if (filOtaz_de.ajaxify) return; filOtaz_de.ajaxify = function(element, opt) { var asyncLoadable = new AsyncLoadable(element, opt); if (asyncLoadable instanceof AsyncLoadable) return true; }; filOtaz_de.ajaxify.get = function(url, opt) { }; var env = { haveSSL: location.protocol == 'https:', haveCORS: 'withCredentials' in new XMLHttpRequest(), haveXDR: typeof XDomainRequest !== "undefined" }; var allAsyncLoadables = []; var sentForm = false; var fallback = function(opt) { if (!(opt instanceof Object)) return null; var args = (opt.fallback instanceof Array) ? opt.fallback.slice() : []; args.push({}); args.reverse(); args.push(opt); return $.extend.apply($, args); } var AsyncLoadable = function(treatee, opt) { var opt = ensureObjType(opt, Object); if (!opt) return undefined; opt.on = ensureObjType(opt.on, Object); if (!opt.on) return undefined; if (treatee) opt.treatee = treatee; this.opt = opt; var treatee = fallback(opt).treatee; this.jQ = $(treatee); if (!this.jQ.length) return undefined; this.domEl = this.jQ[0]; this.isForm = this.domEl instanceof HTMLFormElement; var registerID = this.domEl.filOtaz_de_asynchLoadable; if (typeof registerID == 'undefined') this.domEl.filOtaz_de_asynchLoadable = allAsyncLoadables.push(this) - 1; else if ((typeof registerID == 'number') && (allAsyncLoadables[registerID] instanceof AsyncLoadable)) return allAsyncLoadables[registerID]; else { alert('filOtaz_de.ajaxify:AsyncLoadable cries: ' + 'Something alien registered in our name.' ); return undefined; } this.url = opt.url = opt.url || this.jQ.attr('action') || fallback(opt).url || undefined; if (typeof this.url == 'undefined') { alert('filOtaz_de.ajaxify:AsyncLoadable cries: There is no action.'); return undefined; } this.url = new filOtaz_de.Href(this.url); this.needSSL = opt.needSSL; if (this.needSSL) { this.url.protocol = 'https'; } this.needCORS = this.needSSL && !env.haveSSL; if (this.needCORS && !env.haveCORS) { this.demandPageReload(); return; }; var me = this; this.jQ.on(this.isForm ? 'submit' : 'TAZloadAsync', function() { me.submitAsync(); return false; }); if (this.isForm) this.jQ.find(':submit[name]').click(function() { me.jQ.find('>input[name="' + this.name + '"]').remove(); me.jQ.append('<input type="hidden" name="' + this.name + '" value="' + this.value + '"></input>'); }); var on = this.on = { loadable: this }; $.each(handlers, function(k, v) { on[k] = v; }); var error = this.jQ.find('.error').detach(), i = 0; if (error.length) me.block(); else return; var showErrors = function() { var e = error.eq(i); i++; if (e.length) me.showMessage(e.text(), { onConfirm: showErrors }) else { error.remove(); me.unblock(); } }; showErrors(); }; var handlers = { 0: function(data, status, xhr, message) { var loadable = this.loadable; if (loadable.opt.on.error instanceof Function) if (message) { console.log('xhr error (' + xhr.status + '), message:'); console.log(message); } loadable.showMessage( xhr.status + ' ' + (xhr.statusText || message), { title: 'Übertragungsfehler', slide: true, onConfirm: function() { loadable.flying = false; if (loadable.isForm) sentForm = false; if (loadable.opt.on.errAck instanceof Function) loadable.opt.on.errAck(loadable.jQ); } } ); }, 201: function(data, status, xhr) { if (this.loadable.opt.on.receipt instanceof Function) this.loadable.opt.on.receipt(data, status, xhr); }, 200: function(data, status, xhr) { var type = xhr.getResponseHeader('content-type') || ''; if (-1 < type.indexOf('html')) { data = $('<div></div>').append($(xhr.responseText)); } if (this.loadable.opt.on.receipt instanceof Function) { this.loadable.opt.on.receipt(data, status, xhr); } this.loadable.mount(data); } }; (function() { var proto = AsyncLoadable.prototype = new Object; proto.submitAsync = function() { if (this.flying) return false; this.flying = true; if (this.isForm) { if (sentForm) return false; sentForm = this; } var post = this.jQ.serialize(); this.jQ.attr({ debug: '001' }); this.block(); this.url.setParams({ xhr: true }); var on = this.on; // for local dev if (window.location.hostname == 'localnode.taz.de' ) { // this.url.protocol = 'http'; this.url.hostname = 'localnode.taz.de'; this.url.host = 'localnode.taz.de'; this.url.origin = '//localnode.taz.de'; } //console.log(this.isForm ? 'POST' : 'GET'); console.log(this.url.toString()); $.ajax({ type: this.isForm ? 'POST' : 'GET', url: '' + this.url, cache: false, data: post, dataType: 'html', // 'xml', xhrFields: { withCredentials: true }, beforeSend: function(xhr, settings) { xhr.responseType = 'document'; }, success: function(data, status, xhr) { on[200]($(data), status, xhr); }, error: function(xhr, status, message) { var data = $(xhr.response); if (!data.length) { var text; try { text = xhr.responseText; if (text) text = text.replace(/http:/g, ""); data = $('<div></div>').html(text); } catch (e) { } } if (!data.length) { try { } catch (e) { } } on[xhr.status && on[xhr.status] ? xhr.status : 0 ](data, status, xhr, message); }, complete: function(xhr, status) { } }); }; proto.remove = function() { var registerID = this.domEl.filOtaz_de_asynchLoadable; this.jQ.remove(); allAsyncLoadables[registerID] = null; }; proto.mount = function(data) { var opt = this.opt; var pkg = (data[0] instanceof HTMLDivElement) ? data : data.find('body'); if (!pkg.length) pkg = $(data[0].documentElement); if (!pkg.length) alert('this should not happen ', data[0]); var pick = pkg.find(opt.pick); var me = this; var replace = [{ treatee: me.jQ, pick: pick, ajaxify: true }]; if (opt.replace instanceof Array) replace = replace.concat(opt.replace); $.each(replace, function(i, r) { var i = i, old = $(r.treatee), nju = $(r.pick, pkg); //console.log('debug old nju', old, nju, pkg.prop('outerHTML') ); if (!old.length) return; var isPrimary = i == 0; if (!nju.length && !r.remove) { if (isPrimary) { me.unblock(); me.flying = false; if (me.isForm) sentForm = false; } return; } var anchor = $('<a></a>').hide().insertBefore(old); var id = old.attr('id'); if (id)(nju.length ? nju : anchor).not('script').attr({ id: id }); old.slideUp(function() { old.remove(); if (isPrimary) { me.remove(); if (me.isForm) sentForm = false; } }); var last = anchor; nju.each(function(i, e) { var jQ = $(e); var scripts = false; if (jQ.is('script')) { $('body').append(jQ); return; } if (0 < jQ.find('script').length) { scripts = jQ.find('script'); jQ.find('script').remove(); } var next = { isForm: false }; if (typeof r.ajaxify == 'undefined' || r.ajaxify === true) { next = new AsyncLoadable(jQ, opt); jQ = next.jQ; } else if (!(r.ajaxify instanceof Array)) r.ajaxify = [r.ajaxify]; if (r.ajaxify instanceof Array) $.each(r.ajaxify, function(i, ax) { var o = $.extend({ fallback: [r, opt] }, ax); new AsyncLoadable(jQ.find(fallback(o).treatee), o); }); jQ.hide().removeClass('first last even odd').insertAfter(last); (function() { var prev = jQ.prevAll(':visible'); var next = jQ.nextAll(':visible'); var pos = ''; if (prev.length == 0) pos += ' first'; if (next.length == 0) pos += ' last'; jQ.addClass(pos); next.removeClass('even odd'); })(); if (false !== scripts) { $('body').append(scripts); } jQ.trigger('TAZdomChange'); last = jQ; anchor.remove(); jQ.slideDown(function() { jQ.trigger('TAZboxChange'); (me.opt.on.mounted instanceof Function) && me.opt.on.mounted(jQ); }); if (next.isForm) { var ctrls = next.jQ.find(':input:visible'); if (opt.tabindex > 0) ctrls.attr('tabindex', opt.tabindex); if (opt.focus > 0) ctrls.first().focus() } }); }); }; proto.demandPageReload = function() { this.showMessage('', { block: true, onConfirm: function() { location.protocol = 'https'; return false; }, html: '<p>Um Formular-Inhalte <a href="//de.wikipedia.org/wiki/Hypertext_Transfer_' + 'Protocol_Secure">gesichert übertragen</a> zu können, muß bereits ' + 'diese Seite per HTTPS geladen werden, da Ihr Browser <a href="//de.wiki' + 'pedia.org/wiki/Cross-Origin_Resource_Sharing">neuere Technologie' + '</a> nicht unterstützt.</p>' + '<p>Vielleicht sollten Sie einen <a href="//de.wikipedia.org/wiki/Cross-Origin_' + 'Resource_Sharing#Browser-Unterst.C3.BCtzung">moderneren Browser' + '</a> verwenden.</p>', hint: 'mit https neu laden' }); }; proto.showMessage = function(message, opt) { var opt = ensureObjType(opt, Object); if (opt.block) this.block(); var form = this; var me = $('<form class="sect"></form>') .on('submit', function() { var blockOn = opt.onConfirm instanceof Function && opt.onConfirm() == false; me.slideUp(function() { form.jQ = form.jQ.not(me); me.remove(); }); if (!blockOn) form.unblock(opt.replacement); return false; }) .html((opt.title ? ('<div class="secthead"><h2><a><span>' + opt.title + '</span></a></h2></div>') : '') + '<div class="sectbody">' + (message ? ('<p>' + message + '</p>') : '') + (opt.html || '') + '<input type="submit" value="' + (opt.hint || 'ok') + '" class="submit"></input>' + '</div>' ) .hide().insertAfter(this.jQ); if (opt.slide) me.slideDown(function() { me.trigger('TAZboxChange'); }); else me.show(); form.jQ = form.jQ.add(me); }; proto.block = function() { var form = this.jQ; this.restore = form.clone(true); form.submit(function() { return false; }); form.find('.sectbody').css({ opacity: 0.3 }); form.find('input, textarea').attr({ disabled: true }); form.find('input:submit').fadeOut(); return this.restore; }; proto.unblock = function(replacement) { var replacement = replacement || this.restore; if (!replacement) return false; this.replaceForm(replacement); this.restore = null; }; proto.replaceForm = function(replace) { var form = this.jQ; var replace = $(replace); replace.hide().insertAfter(form.last()).slideDown(function() { replace.trigger('TAZboxChange'); }); form.slideUp(function() { form.remove(); }); this.jQ = replace; this.domEl = replace[0]; }; })(); var ensureObjType = function(obj, Type) { var obj = obj, Type = Type; (typeof Type == 'undefined') && (Type = Object); if (typeof obj == 'undefined') obj = new Type; else if (!(obj instanceof Type)) { alert('filOtaz_de.ajaxify:ensureObjType cries: ' + obj + ' is not of demanded type ' + (new Type) + '.' ); return undefined; } return obj; }; })(); // debug // todo bring together with login case above filOtaz_de.ajaxify(formSel, { // param removed for testing // url: formUrl + param, // where to fetch from. overrides form's action url: formUrl, // where to fetch from. overrides form's action pick: 'fragment#form >*', // what to take from response | mar: this was hardcoded in old frontend. should be changed. needSSL: false, tabindex: 1, focus: 0, none: null }); $(formSel).trigger('TAZloadAsync'); // loadForm ADDED BY MAR } </script> </div> <div> <p class="typo-teaser-text-bold"> Zahlungsweg: </p> <input type="hidden" id="pay_way" name="pay_way" value=""></input> <div class="is-flex-wrap-wrap tzi-pay-way content-nav-wrapper toolbar" x-data="{}" role="toolbar" @click="$($el).closest('.content-nav-wrapper').find('.content-nav ').removeClass('selected');"> <div class="content-nav cursor-pointer is-2-tablet is-12-mobile link is-flex is-flex-direction-row" title=" Der Mindestbetrag beträgt 1 Euro " @click=" $nextTick(() => { $($el).addClass('selected'); }) window.open( '','popup_pp','height=610,width=800,scrollbars=1'); document.getElementsByName('micropay')[0].target = 'popup_pp'; $('#pay_way').val('paypal'); document.micropay.submit(); return false;"> <span class="icon no-hover paypal_line_redhov medium pr-xsmall"></span> <button class="pv-small-medium link micropay-link is-flex is-flex-direction-column is-align-items-center"> <span class=" typo-icontext " id="pay_paypal" name="pay_paypal"> PayPal </span> </button> </div> <div class="content-nav is-2-tablet is-12-mobile link cursor-pointer is-flex is-flex-direction-row" title=" Der Mindestbetrag beträgt 1 Euro " @click=" $nextTick(() => { $($el).addClass('selected'); }) window.open( '','popup_ls','height=520,width=500'); document.getElementsByName('micropay')[0].target = 'popup_ls'; $('#pay_way').val('ls'); document.micropay.submit(); return false;"> <span class="icon no-hover sepa_redhov medium pr-xsmall"></span> <button class="pv-small-medium link micropay-link is-flex is-flex-direction-column is-align-items-center"> <span class="link micropay-link typo-icontext " id="pay_ls" name="pay_ls">Lastschrift </span> </button> </div> <div class="content-nav cursor-pointer is-2-tablet is-12-mobile link is-flex is-flex-direction-row" title=" Der Mindestbetrag beträgt 1 Euro " @click=" $nextTick(() => { $($el).addClass('selected'); }) window.open( '','popup_cc','height=520,width=500'); document.getElementsByName('micropay')[0].target = 'popup_cc'; $('#pay_way').val('cc'); document.micropay.submit(); return false;"> <span class="icon no-hover kreditkarte_redhov medium pr-xsmall"></span> <button class="pv-small-medium link micropay-link is-flex is-flex-direction-column is-align-items-center"> <span class="link micropay-link typo-icontext " id="pay_cc" name="pay_cc"> Kreditkarte </span> </button> </div> <button type="button" data-target="modal-tzi-pay-owsis4rbz" id="pay_kto" name="pay_kto" role="button" class="content-nav is-3-tablet is-12-mobile is-flex is-flex-direction-row cursor-pointer pay_kto pv-small-medium micropay-link teaser-link link js-modal-trigger" @click=" $nextTick(() => { $($el).addClass('selected'); })"> <span class="icon no-hover berweissung_redhov medium pr-xsmall "></span> <span class=" typo-icontext">Überweisung</span> </button> <aside id="modal-tzi-pay-owsis4rbz" class="modal form module-form"> <div class="modal-background"></div> <div class="modal-card "> <header class="is-flex is-flex-direction-column modal-card-head"> <div class="is-flex full is-align-items-flex-start is-flex-direction-row "> <p class="full mgr-medium typo-head-medium">Überweisung</p> <button type="button" role="button" class="mgl-auto delete-modal icon medium-large close_circle_redhov" aria-label="close"> </button> </div> <div class="dotted-inline mgt-medium"></div> </header> <section class="modal-card-body pt-0"> <div class="columns is-flex is-justify-content-center"> <div class="column mobile-order-1"> <div class=" typo-teaser-text column is-8-tablet is-12-mobile mgh-auto-tablet"> Um unsere Arbeit zu honorieren, können Sie folgende Bankverbindung verwenden: <br></br>TAZ Verlags- und Vertriebs GmbH <br></br>Verwendungszweck: "taz-zahl-ich" <br></br> <strong> IBAN: DE81 4306 0967 0100 7001 04 </strong><br></br> BIC: GENODEM1GLS </div> </div> </div> </section> </div> </aside> <button type="button" data-target="modal-tzi-pay-riiejgvw3" id="pay_btc" name="pay_btc" role="button" class="content-nav is-3-tablet is-12-mobile is-flex is-flex-direction-row cursor-pointer pay_btc micropay-link pv-small-medium teaser-link link js-modal-trigger " @click=" $nextTick(() => { $($el).addClass('selected'); })"> <span class="icon no-hover bitcoin_redhov medium pr-xsmall"></span> <span class=" typo-icontext">Bitcoin</span> </button> <aside id="modal-tzi-pay-riiejgvw3" class="modal form module-form"> <div class="modal-background"></div> <div class="modal-card "> <header class="is-flex is-flex-direction-column modal-card-head"> <div class="is-flex full is-align-items-flex-start is-flex-direction-row "> <p class="full mgr-medium typo-head-medium">Bitcoin</p> <button type="button" role="button" class="mgl-auto delete-modal icon medium-large close_circle_redhov" aria-label="close"> </button> </div> <div class="dotted-inline mgt-medium"></div> </header> <section class="modal-card-body pt-0"> <div class="columns is-flex is-justify-content-center"> <div class="column mobile-order-1"> <div class=" typo-teaser-text column is-8-tablet is-12-mobile mgh-auto-tablet"> Um unsere Arbeit zu honorieren, können Sie auch Bitcoins verwenden. Den Bitcoin-Betrag weisen Sie bitte in Ihrem Client zu: <br></br> <img src="https://taz.de/static/images/bitcoinPNGll.png" alt="Bitcoin QR Code"></img> <br></br> <button class="link break-word" href=" bitcoin:165dtfwNvyMUbLGdqf87w8DfZX7i542Fyr?label=taz%20zahl%20ich "> 165dtfwNvyMUbLGdqf87w8DfZX7i542Fyr </button> </div> </div> </div> </section> </div> </aside> </div> </div></form> </div> </div> </div> </section> </section> <script> // default load form immediately if (true == false) loadForm(); // when storeCampaign is given, load form with params from storeCampaign, contains the id for the form function loadForm(storeCampaign){ // no ajaxify for search form. is handled by login form if ( '' === 'arc-search') return; let formCode = ''; let formCodeAttr = 'einmalig'; // when this scope is not enough, ask for form-wrapper: true in storeCampaign let isCampaignForm = Boolean( typeof storeCampaign !== 'undefined'); // MAR: wrapper function "loadForm" added by mar // IMPORTANT params at the end. // code taken from old frontend. comments removed. // purpose: AJAX-pingpong to not open new url for form // uses jquery! is only includes when form appears. Otherwise: cash-dom.js // comments removed. caused whyever js code break. // default : form is loaded initally, no bounty select per campaign form var formId = 'tzi_CiviCRM-Mitglied-Werden-1Schritt'; var formSel = '*[data-identifier="d6i7nqk7d"]'; var formUrl = '/!form=tzi_CiviCRM-Mitglied-Werden-1Schritt;x/'; if ( false == true ) { // console.log('search form'); // find cookie "tazsid" and extract value const regex = /tazsid=(.[^;]*)/ig; const match = regex.exec(document.cookie); const value = match !== null ? match[1] : '0'; ; formUrl = '/!arcsid=' + value + '/' }; // special case: archive (arsid=...) -- in this case complete src should be called. if (false) formUrl = formId; formUrl += '?node=1'; // campaign form is loaded AFTER bounty select from templates if (typeof storeCampaign !== 'undefined' && typeof storeCampaign.formId !== ''){ formUrl = '/!form=' + storeCampaign.formId + ';x/?node=1' + storeCampaign.formActionAllParams(); formSel = '#' + storeCampaign.formId; } // begin param string. is extended later let param = marOtaz_de.isMobile() ? '&mobile=1' : '&mobile=0'; if (formCodeAttr !== '') param += '&code='+ formCodeAttr; if( formCode !== '' ) param += '&code='+ encodeURIComponent( formCode ); // comes from head_matomo.html if ( globalTrackingParam !== '' ) param += globalTrackingParam; // einmal zahlen has stolen the hash. better would be something like session cookie to make it usable for more then one form // why special condition for tzi_tzieinmalbezahlenbetragauswahl? really needed? /* if( location.hash.indexOf('#!formfill:') ==0 && formId !== 'tzi_tzieinmalbezahlenbetragauswahl') { param += '&'+ location.hash.split(':')[1] ; if( history && history.replaceState instanceof Function ){ history.replaceState({}, document.title, location.href.split('#')[0] ); } else { // location.hash =''; } } */ /* if( location.hash.indexOf('#matomo:') ==0 && isCampaignForm ) { param += '&'+ location.hash.split(':')[1].replaceAll('pk_', 'mtm_') ; } */ // alert(" location.hash.indexOf('#matomo:')", location.hash.indexOf('#matomo:')); formUrl += param; /* following script should be replaced by: problem: how to handle url change on post=? await fetchMyDocument(); async function fetchMyDocument() { try { let response = await fetch(formUrl); let toInsert = document.querySelector(formSel); toInsert.innerHTML = await response.text(); } catch (err) { console.log('Fetch error:' + err); } return } */ // token from style/form-ajax.xsl (old "frontend") if (!window.filOtaz_de) window.filOtaz_de = {}; (function() { filOtaz_de || (filOtaz_de = {}); if (filOtaz_de.Href) return; var defineProperty = undefined; if ((function(o) { try { Object.defineProperty(o, 'p', { value: true }); return o.p; } catch (e) { return false; } })({})) defineProperty = Object.defineProperty; else if (Object.prototype.__defineGetter__ instanceof Function) { defineProperty = function(obj, prop, descriptor) { var prop = '' + prop; if (descriptor.get) Object.prototype.__defineGetter__.call(obj, prop, descriptor.get); if (descriptor.set) Object.prototype.__defineSetter__.call(obj, prop, descriptor.set); }; } var Href = filOtaz_de.Href = function(arg) { if (arg instanceof Href) return arg; if (typeof arg == 'undefined') arg = ''; var a = document.createElement('a'); a.href = arg; if (!defineProperty) { a.getParams = proto.getParams, a.setAllParams = proto.setAllParams, a.setParams = proto.setParams; return a; } var me = this; ['href', 'protocol', 'username', 'password', 'host', 'hostname', 'port', 'pathname', 'search', 'hash'].forEach(function(name) { defineProperty(me, name, { get: function() { return a[name]; }, set: function(v) { return a[name] = v; }, enumerable: true, configurable: false }); }); ['origin'].forEach(function(name) { defineProperty(me, name, { get: function() { return a[name]; }, enumerable: true, configurable: false }); }); this.toString = function() { return a.toString(); }; }; var proto = Href.prototype = { getParams: function(k) { if (k === undefined || k === String || k === '') return this.search; if (typeof k === 'string' || k instanceof String) return this.getParams(Object)[k]; if (k === Array || k instanceof Array) return this.search.replace(/^[?]/, '').split('&'); if (k === Object || k instanceof Object) { var o = {}; $.each(this.getParams(Array), function(i, p) { if (!p.length) return; p = p.split('='); o[p.shift()] = p.length ? p.join('=') : true; }); return o; } }, setAllParams: function(params) { if (typeof params !== 'object' || params instanceof String) this.search = params; else if (params instanceof Array) this.search = params.join('&'); else if (params instanceof Object) { var a = []; $.each(params, function(k, v) { if (v === false || v === undefined) return; if (v === true) a.push(k); else a.push(k + '=' + v); }); this.setAllParams(a); } return this; }, setParams: function(param) { if (typeof param !== 'object' || param instanceof String) return this.setParams((new Href).setAllParams(param).getParams(Object)); if (param instanceof Array) return this.setParams((new Href).setAllParams(param).getParams(Object)); if (param instanceof Object) return this.setAllParams($.extend(this.getParams(Object), param)); }, none: null }; })(); (function() { filOtaz_de || (filOtaz_de = {}); if (filOtaz_de.ajaxify) return; filOtaz_de.ajaxify = function(element, opt) { var asyncLoadable = new AsyncLoadable(element, opt); if (asyncLoadable instanceof AsyncLoadable) return true; }; filOtaz_de.ajaxify.get = function(url, opt) { }; var env = { haveSSL: location.protocol == 'https:', haveCORS: 'withCredentials' in new XMLHttpRequest(), haveXDR: typeof XDomainRequest !== "undefined" }; var allAsyncLoadables = []; var sentForm = false; var fallback = function(opt) { if (!(opt instanceof Object)) return null; var args = (opt.fallback instanceof Array) ? opt.fallback.slice() : []; args.push({}); args.reverse(); args.push(opt); return $.extend.apply($, args); } var AsyncLoadable = function(treatee, opt) { var opt = ensureObjType(opt, Object); if (!opt) return undefined; opt.on = ensureObjType(opt.on, Object); if (!opt.on) return undefined; if (treatee) opt.treatee = treatee; this.opt = opt; var treatee = fallback(opt).treatee; this.jQ = $(treatee); if (!this.jQ.length) return undefined; this.domEl = this.jQ[0]; this.isForm = this.domEl instanceof HTMLFormElement; var registerID = this.domEl.filOtaz_de_asynchLoadable; if (typeof registerID == 'undefined') this.domEl.filOtaz_de_asynchLoadable = allAsyncLoadables.push(this) - 1; else if ((typeof registerID == 'number') && (allAsyncLoadables[registerID] instanceof AsyncLoadable)) return allAsyncLoadables[registerID]; else { alert('filOtaz_de.ajaxify:AsyncLoadable cries: ' + 'Something alien registered in our name.' ); return undefined; } this.url = opt.url = opt.url || this.jQ.attr('action') || fallback(opt).url || undefined; if (typeof this.url == 'undefined') { alert('filOtaz_de.ajaxify:AsyncLoadable cries: There is no action.'); return undefined; } this.url = new filOtaz_de.Href(this.url); this.needSSL = opt.needSSL; if (this.needSSL) { this.url.protocol = 'https'; } this.needCORS = this.needSSL && !env.haveSSL; if (this.needCORS && !env.haveCORS) { this.demandPageReload(); return; }; var me = this; this.jQ.on(this.isForm ? 'submit' : 'TAZloadAsync', function() { me.submitAsync(); return false; }); if (this.isForm) this.jQ.find(':submit[name]').click(function() { me.jQ.find('>input[name="' + this.name + '"]').remove(); me.jQ.append('<input type="hidden" name="' + this.name + '" value="' + this.value + '"></input>'); }); var on = this.on = { loadable: this }; $.each(handlers, function(k, v) { on[k] = v; }); var error = this.jQ.find('.error').detach(), i = 0; if (error.length) me.block(); else return; var showErrors = function() { var e = error.eq(i); i++; if (e.length) me.showMessage(e.text(), { onConfirm: showErrors }) else { error.remove(); me.unblock(); } }; showErrors(); }; var handlers = { 0: function(data, status, xhr, message) { var loadable = this.loadable; if (loadable.opt.on.error instanceof Function) if (message) { console.log('xhr error (' + xhr.status + '), message:'); console.log(message); } loadable.showMessage( xhr.status + ' ' + (xhr.statusText || message), { title: 'Übertragungsfehler', slide: true, onConfirm: function() { loadable.flying = false; if (loadable.isForm) sentForm = false; if (loadable.opt.on.errAck instanceof Function) loadable.opt.on.errAck(loadable.jQ); } } ); }, 201: function(data, status, xhr) { if (this.loadable.opt.on.receipt instanceof Function) this.loadable.opt.on.receipt(data, status, xhr); }, 200: function(data, status, xhr) { var type = xhr.getResponseHeader('content-type') || ''; if (-1 < type.indexOf('html')) { data = $('<div></div>').append($(xhr.responseText)); } if (this.loadable.opt.on.receipt instanceof Function) { this.loadable.opt.on.receipt(data, status, xhr); } this.loadable.mount(data); } }; (function() { var proto = AsyncLoadable.prototype = new Object; proto.submitAsync = function() { if (this.flying) return false; this.flying = true; if (this.isForm) { if (sentForm) return false; sentForm = this; } var post = this.jQ.serialize(); this.jQ.attr({ debug: '001' }); this.block(); this.url.setParams({ xhr: true }); var on = this.on; // for local dev if (window.location.hostname == 'localnode.taz.de' ) { // this.url.protocol = 'http'; this.url.hostname = 'localnode.taz.de'; this.url.host = 'localnode.taz.de'; this.url.origin = '//localnode.taz.de'; } //console.log(this.isForm ? 'POST' : 'GET'); console.log(this.url.toString()); $.ajax({ type: this.isForm ? 'POST' : 'GET', url: '' + this.url, cache: false, data: post, dataType: 'html', // 'xml', xhrFields: { withCredentials: true }, beforeSend: function(xhr, settings) { xhr.responseType = 'document'; }, success: function(data, status, xhr) { on[200]($(data), status, xhr); }, error: function(xhr, status, message) { var data = $(xhr.response); if (!data.length) { var text; try { text = xhr.responseText; if (text) text = text.replace(/http:/g, ""); data = $('<div></div>').html(text); } catch (e) { } } if (!data.length) { try { } catch (e) { } } on[xhr.status && on[xhr.status] ? xhr.status : 0 ](data, status, xhr, message); }, complete: function(xhr, status) { } }); }; proto.remove = function() { var registerID = this.domEl.filOtaz_de_asynchLoadable; this.jQ.remove(); allAsyncLoadables[registerID] = null; }; proto.mount = function(data) { var opt = this.opt; var pkg = (data[0] instanceof HTMLDivElement) ? data : data.find('body'); if (!pkg.length) pkg = $(data[0].documentElement); if (!pkg.length) alert('this should not happen ', data[0]); var pick = pkg.find(opt.pick); var me = this; var replace = [{ treatee: me.jQ, pick: pick, ajaxify: true }]; if (opt.replace instanceof Array) replace = replace.concat(opt.replace); $.each(replace, function(i, r) { var i = i, old = $(r.treatee), nju = $(r.pick, pkg); //console.log('debug old nju', old, nju, pkg.prop('outerHTML') ); if (!old.length) return; var isPrimary = i == 0; if (!nju.length && !r.remove) { if (isPrimary) { me.unblock(); me.flying = false; if (me.isForm) sentForm = false; } return; } var anchor = $('<a></a>').hide().insertBefore(old); var id = old.attr('id'); if (id)(nju.length ? nju : anchor).not('script').attr({ id: id }); old.slideUp(function() { old.remove(); if (isPrimary) { me.remove(); if (me.isForm) sentForm = false; } }); var last = anchor; nju.each(function(i, e) { var jQ = $(e); var scripts = false; if (jQ.is('script')) { $('body').append(jQ); return; } if (0 < jQ.find('script').length) { scripts = jQ.find('script'); jQ.find('script').remove(); } var next = { isForm: false }; if (typeof r.ajaxify == 'undefined' || r.ajaxify === true) { next = new AsyncLoadable(jQ, opt); jQ = next.jQ; } else if (!(r.ajaxify instanceof Array)) r.ajaxify = [r.ajaxify]; if (r.ajaxify instanceof Array) $.each(r.ajaxify, function(i, ax) { var o = $.extend({ fallback: [r, opt] }, ax); new AsyncLoadable(jQ.find(fallback(o).treatee), o); }); jQ.hide().removeClass('first last even odd').insertAfter(last); (function() { var prev = jQ.prevAll(':visible'); var next = jQ.nextAll(':visible'); var pos = ''; if (prev.length == 0) pos += ' first'; if (next.length == 0) pos += ' last'; jQ.addClass(pos); next.removeClass('even odd'); })(); if (false !== scripts) { $('body').append(scripts); } jQ.trigger('TAZdomChange'); last = jQ; anchor.remove(); jQ.slideDown(function() { jQ.trigger('TAZboxChange'); (me.opt.on.mounted instanceof Function) && me.opt.on.mounted(jQ); }); if (next.isForm) { var ctrls = next.jQ.find(':input:visible'); if (opt.tabindex > 0) ctrls.attr('tabindex', opt.tabindex); if (opt.focus > 0) ctrls.first().focus() } }); }); }; proto.demandPageReload = function() { this.showMessage('', { block: true, onConfirm: function() { location.protocol = 'https'; return false; }, html: '<p>Um Formular-Inhalte <a href="//de.wikipedia.org/wiki/Hypertext_Transfer_' + 'Protocol_Secure">gesichert übertragen</a> zu können, muß bereits ' + 'diese Seite per HTTPS geladen werden, da Ihr Browser <a href="//de.wiki' + 'pedia.org/wiki/Cross-Origin_Resource_Sharing">neuere Technologie' + '</a> nicht unterstützt.</p>' + '<p>Vielleicht sollten Sie einen <a href="//de.wikipedia.org/wiki/Cross-Origin_' + 'Resource_Sharing#Browser-Unterst.C3.BCtzung">moderneren Browser' + '</a> verwenden.</p>', hint: 'mit https neu laden' }); }; proto.showMessage = function(message, opt) { var opt = ensureObjType(opt, Object); if (opt.block) this.block(); var form = this; var me = $('<form class="sect"></form>') .on('submit', function() { var blockOn = opt.onConfirm instanceof Function && opt.onConfirm() == false; me.slideUp(function() { form.jQ = form.jQ.not(me); me.remove(); }); if (!blockOn) form.unblock(opt.replacement); return false; }) .html((opt.title ? ('<div class="secthead"><h2><a><span>' + opt.title + '</span></a></h2></div>') : '') + '<div class="sectbody">' + (message ? ('<p>' + message + '</p>') : '') + (opt.html || '') + '<input type="submit" value="' + (opt.hint || 'ok') + '" class="submit"></input>' + '</div>' ) .hide().insertAfter(this.jQ); if (opt.slide) me.slideDown(function() { me.trigger('TAZboxChange'); }); else me.show(); form.jQ = form.jQ.add(me); }; proto.block = function() { var form = this.jQ; this.restore = form.clone(true); form.submit(function() { return false; }); form.find('.sectbody').css({ opacity: 0.3 }); form.find('input, textarea').attr({ disabled: true }); form.find('input:submit').fadeOut(); return this.restore; }; proto.unblock = function(replacement) { var replacement = replacement || this.restore; if (!replacement) return false; this.replaceForm(replacement); this.restore = null; }; proto.replaceForm = function(replace) { var form = this.jQ; var replace = $(replace); replace.hide().insertAfter(form.last()).slideDown(function() { replace.trigger('TAZboxChange'); }); form.slideUp(function() { form.remove(); }); this.jQ = replace; this.domEl = replace[0]; }; })(); var ensureObjType = function(obj, Type) { var obj = obj, Type = Type; (typeof Type == 'undefined') && (Type = Object); if (typeof obj == 'undefined') obj = new Type; else if (!(obj instanceof Type)) { alert('filOtaz_de.ajaxify:ensureObjType cries: ' + obj + ' is not of demanded type ' + (new Type) + '.' ); return undefined; } return obj; }; })(); // debug // todo bring together with login case above filOtaz_de.ajaxify(formSel, { // param removed for testing // url: formUrl + param, // where to fetch from. overrides form's action url: formUrl, // where to fetch from. overrides form's action pick: 'fragment#form >*', // what to take from response | mar: this was hardcoded in old frontend. should be changed. needSSL: false, tabindex: 1, focus: 0, none: null }); $(formSel).trigger('TAZloadAsync'); // loadForm ADDED BY MAR } </script> <section class="outerwrapper contains-module-linklist_collection has-no-background "> <section class="module columns is-multiline linklist_collection module-linklist_collection legal modals contains-legal " x-data="{heightOfColumn: [] }"> <header class="column is-12-mobile mobile-order-1 is-flex-direction-row is-12-tablet is-align-items-center"> <input id="form_agreement" class=" checkbox form-control typo-form-input-entry has-background-white input right legal-checkbox " type="checkbox" oninput="this.setCustomValidity('')" style="width: 55px; height: 100%" oninvalid="this.setCustomValidity('Bitte bestätigen Sie die AGBs.')" required="required" @input="$el.toggleAttribute('checked')" value="1"></input> <label for="form_agreement" class="label typo-form-input-topline checkbox_empty_redhov no-hover icon small is-flex mgr-small"></label> <p class="headline typo-head-medium"> Datenschutz </p> </header> <div class="bool_field field column mgt-small pt-0 is-12 mobile-order-2" x-init="let isInForm = $($el).closest('form').length; if (!isInForm) $($el).closest('.outerwrapper').addClass('is-hidden') "> <div class="input_label_wrapper is-flex is-align-items-baseline wrapper_checkbox " x-id="['agreement']"> <label :for="$id('agreement')" class="label typo-form-input-topline small is-flex"> <p class="is-inline-block paragraph is-legal-0">Die <a class="js-modal-trigger icon-link-text link in-text-link" data-target="modal-numh1ofj4">Datenschutzerklärung</a> habe ich zur Kenntnis genommen. Ich stimme der Nutzung meiner E-Mail-Adresse für taz-Informationen zu. Diese Zustimmung kann ich jederzeit und formlos per E-Mail an datenschutz@taz.de widerrufen.</p> </label> </div> </div> <aside id="modal-numh1ofj4" class="modal linklist_collection module-linklist_collection"> <div class="modal-background"></div> <div class="modal-card "> <header class="is-flex is-flex-direction-column modal-card-head"> <div class="is-flex full is-align-items-flex-start is-flex-direction-row "> <p class="full mgr-medium typo-head-medium">Datenschutzerklärung der taz-Gruppe</p> <button type="button" role="button" class="mgl-auto delete-modal icon medium-large close_circle_redhov" aria-label="close"> </button> </div> <div class="dotted-inline mgt-medium"></div> </header> <section class="modal-card-body pt-0"> <div class="columns is-flex is-justify-content-center"> <div class=" column "> <div class="columns is-centered"> <div class="is-8-tablet is-12-mobile column mobile-order-1"> <div class="typo-teaser-text"> <p class="first paragraph"><em>Letzte Änderung: Berlin, 01.03.2023</em> </p> <p class="paragraph last">Die Unternehmen der taz-Gruppe nehmen den Schutz personenbezogener Daten sehr ernst. Wir haben technische und organisatorische Maßnahmen getroffen, die sicherstellen, dass die gesetzlichen Vorschriften zu personenbezogenen Daten nach der DSGVO eingehalten werden. Die Hinweise in der Datenschutzerklärung geben im ersten Abschnitt einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie unsere Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz finden Sie in den Abschnitten 2 – 7 unserer Datenschutzerklärung ... <a href="https://taz.de/Wir-sind-uns-sicher/!vn5957314/" target="_blank" class="link in-text-link"><strong>Weiterlesen</strong></a></p> </div> </div> </div> </div> </div> </section> </div> </aside> </section> </section> <section class="outerwrapper contains-module-kontakt has-background-tzi-background-light has-background "> <section class="module columns is-multiline kontakt module-kontakt contains-kontakt has-background-tzi-background-light theme hasMultiply " x-data="{heightOfColumn: [] }"> <div class="column mobile-order-1"> <p class="typo-head-medium mgb-small has-text-tzi-text"> Fragen? Wir helfen gerne weiter </p> <div x-cloak=""> </div> </div> <div class="column mobile-order-2 "> <p class="has-text-tzi-text typo-teaser-text-bold"> taz zahl ich-Team </p> <p class="hours mgb-medium typo-teaser-text"> Mo-Fr, 10-16 Uhr </p> <div> <a href="tel:+49 (0) 30 - 25902 - 959" class="infolist has-background-main-background has-background-red-hover has-background-tzi-light-hover has-background-tzi-light-active "> <span class="mgh-small icon medium telephone_redhov no-hover center"></span> <span class="typo-icontext">Telefon</span> <span class="typo-linklist-large mgr-small">+49 (0) 30 - 25902 - 959</span> </a> <a href="mailto:taz-zahl-ich@taz.de" class="infolist has-background-main-background has-background-tzi-light-hover has-background-tzi-light-active "> <span class="mgh-small icon medium e_mail_redhov center no-hover"></span> <span class="typo-icontext">E-Mail</span> <span class="typo-linklist-large mgr-small"> taz-zahl-ich@taz.de</span> </a> </div> <div class="dotted-inline mgt-large"> </div> <p class="mgt-medium typo-teaser-text-bold has-text-main-text"> Postanschrift </p> <p class="typo-teaser-text mgb-0"> Friedrichstraße 21 </p> <p class="typo-teaser-text"> 10969 Berlin </p> </div> </section> </section> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"ContactPoint","url":"https://taz.de/All-you-can-read/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/","contactType":"customer service","description":"","email":"taz-zahl-ich@taz.de","telephone":"+49 (0) 30 - 25902 - 959","contactOption":["TollFree","HearingImpairedSupported"],"areaServed":{"@type":"Country","name":"DE"},"availableLanguage":["Deutsch"]} </script> </section><section x-show="$store.campaign.pagesShow['form-success']" class="main " :class="{ 'is-active': $store.campaign.pagesShow['form-success'] }" x-cloak="" data-xml-entry-point="page" data-role="form-success"> <section class="outerwrapper contains-module-notification has-background-notifications-success-background has-background "> <section class="module columns notification module-notification success-message is-first has-background-notifications-success-background"> <div class="column is-8-tablet mobile-order-1"> <div class="is-flex is-align-items-flex-start"> <span class="pr-small-medium fade-in-fast icon medium success_darkhov no-hover"> </span> <div> <p class=" headline typo-head-medium has-text-notifications-success"> Vielen Dank für Ihre Unterstützung! </p> <span class="typo-teaser-text"> <p class="first paragraph last">Sie und über 39.000 andere ermöglichen unabhängigen, kritischen Journalismus, der solidarisch für jede:n frei zugänglich ist. Danke, dass Sie nun Teil unserer Community sind!<br></br>Wir haben Ihnen zur Bestätigung Ihrer Unterstützung eine E-Mail geschickt. Bitte prüfen Sie Ihr Postfach sowie gegebenenfalls den Spam-Ordner. Falls Sie keine Nachricht erhalten haben, schreiben Sie uns bitte an: taz-zahl-ich@taz.de.</p> </span> </div> </div> </div> </section> </section> <section class="outerwrapper contains-module-linklist_collection has-no-background "> <section class="module columns is-multiline linklist_collection module-linklist_collection modals contains-faq " x-data="{heightOfColumn: [] }"> <header class="column is-12-mobile mobile-order-1 is-12-tablet mgb-small"> <p class="headline typo-head-medium"> Falls Sie noch Fragen haben ... </p> </header> <div class="column is-4-tablet submodule dotted mobile-order-2"> <button data-target="modal-hsqxcsvfj" role="button" class="teaser-link link js-modal-trigger icon-link-wrapper "> <p class="headline typo-topline-regular mgb-small">taz zahl ich</p> <p class="headline break-word link typo-head-small "> Habt ihr einen Newsletter für die taz zahl ich-Community? </p> <div class="mgt-auto"> <div class=" typo-link-grey-onpage icon-link-wrapper is-flex mgt-medium is-align-items-center"> <span class="typo-link icon-link-text"> mehr lesen </span> <span class="icon small read_more_grey_redhov"></span> </div> </div> </button> </div> <aside id="modal-hsqxcsvfj" class="modal linklist_collection module-linklist_collection"> <div class="modal-background"></div> <div class="modal-card "> <header class="is-flex is-flex-direction-column modal-card-head"> <div class="is-flex full is-align-items-flex-start is-flex-direction-row "> <p class="full mgr-medium typo-head-medium">Habt ihr einen Newsletter für die taz zahl ich-Community?</p> <button type="button" role="button" class="mgl-auto delete-modal icon medium-large close_circle_redhov" aria-label="close"> </button> </div> <div class="dotted-inline mgt-medium"></div> </header> <section class="modal-card-body pt-0"> <div class="columns is-flex is-justify-content-center"> <div class=" column "> <div x-data="{backlink: $(`.navbar-first-level .navbar-link[title='service']`).attr('href') || '/!v=faqs'}" class="column is-8-tablet is-12-mobile mgh-auto-tablet mgb-large faq-rte "> <div class="mgt-medium typo-teaser-text"> <p class="first paragraph last">Ja! Alle zwei Wochen empfehlen wir im Newsletter für <em>taz zahl ich</em>-Mitglieder ausgewählte Artikel und Recherchen, halten Sie über die taz und unsere Herzensprojekte auf dem Laufenden und laden zu Events ein. Außerdem berichten wir natürlich über den aktuellen Stand unseres Solidamodells. Anmelden können Sie sich hier:</p> </div> </div> <div class="columns"> <div class="column is-12 pb-0 formFaq mobile-order-1"> <link rel="stylesheet" type="text/css" media="screen, print" href="/lib/taz-verlag-node/js/bulma-steps/dist/css/bulma-steps.min.css"></link> <script type="text/javascript" src="/lib/taz-verlag-node/js/jquery/dist/jquery.min.js"></script> <section class="outerwrapper has-background-background-forms has-background "> <section x-data="{isMirror: false}" class="module columns form linklist_collection module-linklist_collection is-centered " :class="isMirror === false ? 'has-background-background-forms hasMultiply' : 'has-background-white'"> <div class="column is-8 mobile-order-2 form-container"> <a data-identifier="7e8n2n6zu" id="tzi_Newsletter"></a> </div> </section> </section> <script> // default load form immediately if (false == false) loadForm(); // when storeCampaign is given, load form with params from storeCampaign, contains the id for the form function loadForm(storeCampaign){ // no ajaxify for search form. is handled by login form if ( 'tzi_Newsletter' === 'arc-search') return; let formCode = ''; let formCodeAttr = ''; // when this scope is not enough, ask for form-wrapper: true in storeCampaign let isCampaignForm = Boolean( typeof storeCampaign !== 'undefined'); // MAR: wrapper function "loadForm" added by mar // IMPORTANT params at the end. // code taken from old frontend. comments removed. // purpose: AJAX-pingpong to not open new url for form // uses jquery! is only includes when form appears. Otherwise: cash-dom.js // comments removed. caused whyever js code break. // default : form is loaded initally, no bounty select per campaign form var formId = 'tzi_Newsletter'; var formSel = '*[data-identifier="7e8n2n6zu"]'; var formUrl = '/!form=tzi_Newsletter;x/'; if ( false == true ) { // console.log('search form'); // find cookie "tazsid" and extract value const regex = /tazsid=(.[^;]*)/ig; const match = regex.exec(document.cookie); const value = match !== null ? match[1] : '0'; ; formUrl = '/!arcsid=' + value + '/' }; // special case: archive (arsid=...) -- in this case complete src should be called. if (false) formUrl = formId; formUrl += '?node=1'; // campaign form is loaded AFTER bounty select from templates if (typeof storeCampaign !== 'undefined' && typeof storeCampaign.formId !== ''){ formUrl = '/!form=' + storeCampaign.formId + ';x/?node=1' + storeCampaign.formActionAllParams(); formSel = '#' + storeCampaign.formId; } // begin param string. is extended later let param = marOtaz_de.isMobile() ? '&mobile=1' : '&mobile=0'; if (formCodeAttr !== '') param += '&code='+ formCodeAttr; if( formCode !== '' ) param += '&code='+ encodeURIComponent( formCode ); // comes from head_matomo.html if ( globalTrackingParam !== '' ) param += globalTrackingParam; // einmal zahlen has stolen the hash. better would be something like session cookie to make it usable for more then one form // why special condition for tzi_tzieinmalbezahlenbetragauswahl? really needed? /* if( location.hash.indexOf('#!formfill:') ==0 && formId !== 'tzi_tzieinmalbezahlenbetragauswahl') { param += '&'+ location.hash.split(':')[1] ; if( history && history.replaceState instanceof Function ){ history.replaceState({}, document.title, location.href.split('#')[0] ); } else { // location.hash =''; } } */ /* if( location.hash.indexOf('#matomo:') ==0 && isCampaignForm ) { param += '&'+ location.hash.split(':')[1].replaceAll('pk_', 'mtm_') ; } */ // alert(" location.hash.indexOf('#matomo:')", location.hash.indexOf('#matomo:')); formUrl += param; /* following script should be replaced by: problem: how to handle url change on post=? await fetchMyDocument(); async function fetchMyDocument() { try { let response = await fetch(formUrl); let toInsert = document.querySelector(formSel); toInsert.innerHTML = await response.text(); } catch (err) { console.log('Fetch error:' + err); } return } */ // token from style/form-ajax.xsl (old "frontend") if (!window.filOtaz_de) window.filOtaz_de = {}; (function() { filOtaz_de || (filOtaz_de = {}); if (filOtaz_de.Href) return; var defineProperty = undefined; if ((function(o) { try { Object.defineProperty(o, 'p', { value: true }); return o.p; } catch (e) { return false; } })({})) defineProperty = Object.defineProperty; else if (Object.prototype.__defineGetter__ instanceof Function) { defineProperty = function(obj, prop, descriptor) { var prop = '' + prop; if (descriptor.get) Object.prototype.__defineGetter__.call(obj, prop, descriptor.get); if (descriptor.set) Object.prototype.__defineSetter__.call(obj, prop, descriptor.set); }; } var Href = filOtaz_de.Href = function(arg) { if (arg instanceof Href) return arg; if (typeof arg == 'undefined') arg = ''; var a = document.createElement('a'); a.href = arg; if (!defineProperty) { a.getParams = proto.getParams, a.setAllParams = proto.setAllParams, a.setParams = proto.setParams; return a; } var me = this; ['href', 'protocol', 'username', 'password', 'host', 'hostname', 'port', 'pathname', 'search', 'hash'].forEach(function(name) { defineProperty(me, name, { get: function() { return a[name]; }, set: function(v) { return a[name] = v; }, enumerable: true, configurable: false }); }); ['origin'].forEach(function(name) { defineProperty(me, name, { get: function() { return a[name]; }, enumerable: true, configurable: false }); }); this.toString = function() { return a.toString(); }; }; var proto = Href.prototype = { getParams: function(k) { if (k === undefined || k === String || k === '') return this.search; if (typeof k === 'string' || k instanceof String) return this.getParams(Object)[k]; if (k === Array || k instanceof Array) return this.search.replace(/^[?]/, '').split('&'); if (k === Object || k instanceof Object) { var o = {}; $.each(this.getParams(Array), function(i, p) { if (!p.length) return; p = p.split('='); o[p.shift()] = p.length ? p.join('=') : true; }); return o; } }, setAllParams: function(params) { if (typeof params !== 'object' || params instanceof String) this.search = params; else if (params instanceof Array) this.search = params.join('&'); else if (params instanceof Object) { var a = []; $.each(params, function(k, v) { if (v === false || v === undefined) return; if (v === true) a.push(k); else a.push(k + '=' + v); }); this.setAllParams(a); } return this; }, setParams: function(param) { if (typeof param !== 'object' || param instanceof String) return this.setParams((new Href).setAllParams(param).getParams(Object)); if (param instanceof Array) return this.setParams((new Href).setAllParams(param).getParams(Object)); if (param instanceof Object) return this.setAllParams($.extend(this.getParams(Object), param)); }, none: null }; })(); (function() { filOtaz_de || (filOtaz_de = {}); if (filOtaz_de.ajaxify) return; filOtaz_de.ajaxify = function(element, opt) { var asyncLoadable = new AsyncLoadable(element, opt); if (asyncLoadable instanceof AsyncLoadable) return true; }; filOtaz_de.ajaxify.get = function(url, opt) { }; var env = { haveSSL: location.protocol == 'https:', haveCORS: 'withCredentials' in new XMLHttpRequest(), haveXDR: typeof XDomainRequest !== "undefined" }; var allAsyncLoadables = []; var sentForm = false; var fallback = function(opt) { if (!(opt instanceof Object)) return null; var args = (opt.fallback instanceof Array) ? opt.fallback.slice() : []; args.push({}); args.reverse(); args.push(opt); return $.extend.apply($, args); } var AsyncLoadable = function(treatee, opt) { var opt = ensureObjType(opt, Object); if (!opt) return undefined; opt.on = ensureObjType(opt.on, Object); if (!opt.on) return undefined; if (treatee) opt.treatee = treatee; this.opt = opt; var treatee = fallback(opt).treatee; this.jQ = $(treatee); if (!this.jQ.length) return undefined; this.domEl = this.jQ[0]; this.isForm = this.domEl instanceof HTMLFormElement; var registerID = this.domEl.filOtaz_de_asynchLoadable; if (typeof registerID == 'undefined') this.domEl.filOtaz_de_asynchLoadable = allAsyncLoadables.push(this) - 1; else if ((typeof registerID == 'number') && (allAsyncLoadables[registerID] instanceof AsyncLoadable)) return allAsyncLoadables[registerID]; else { alert('filOtaz_de.ajaxify:AsyncLoadable cries: ' + 'Something alien registered in our name.' ); return undefined; } this.url = opt.url = opt.url || this.jQ.attr('action') || fallback(opt).url || undefined; if (typeof this.url == 'undefined') { alert('filOtaz_de.ajaxify:AsyncLoadable cries: There is no action.'); return undefined; } this.url = new filOtaz_de.Href(this.url); this.needSSL = opt.needSSL; if (this.needSSL) { this.url.protocol = 'https'; } this.needCORS = this.needSSL && !env.haveSSL; if (this.needCORS && !env.haveCORS) { this.demandPageReload(); return; }; var me = this; this.jQ.on(this.isForm ? 'submit' : 'TAZloadAsync', function() { me.submitAsync(); return false; }); if (this.isForm) this.jQ.find(':submit[name]').click(function() { me.jQ.find('>input[name="' + this.name + '"]').remove(); me.jQ.append('<input type="hidden" name="' + this.name + '" value="' + this.value + '"></input>'); }); var on = this.on = { loadable: this }; $.each(handlers, function(k, v) { on[k] = v; }); var error = this.jQ.find('.error').detach(), i = 0; if (error.length) me.block(); else return; var showErrors = function() { var e = error.eq(i); i++; if (e.length) me.showMessage(e.text(), { onConfirm: showErrors }) else { error.remove(); me.unblock(); } }; showErrors(); }; var handlers = { 0: function(data, status, xhr, message) { var loadable = this.loadable; if (loadable.opt.on.error instanceof Function) if (message) { console.log('xhr error (' + xhr.status + '), message:'); console.log(message); } loadable.showMessage( xhr.status + ' ' + (xhr.statusText || message), { title: 'Übertragungsfehler', slide: true, onConfirm: function() { loadable.flying = false; if (loadable.isForm) sentForm = false; if (loadable.opt.on.errAck instanceof Function) loadable.opt.on.errAck(loadable.jQ); } } ); }, 201: function(data, status, xhr) { if (this.loadable.opt.on.receipt instanceof Function) this.loadable.opt.on.receipt(data, status, xhr); }, 200: function(data, status, xhr) { var type = xhr.getResponseHeader('content-type') || ''; if (-1 < type.indexOf('html')) { data = $('<div></div>').append($(xhr.responseText)); } if (this.loadable.opt.on.receipt instanceof Function) { this.loadable.opt.on.receipt(data, status, xhr); } this.loadable.mount(data); } }; (function() { var proto = AsyncLoadable.prototype = new Object; proto.submitAsync = function() { if (this.flying) return false; this.flying = true; if (this.isForm) { if (sentForm) return false; sentForm = this; } var post = this.jQ.serialize(); this.jQ.attr({ debug: '001' }); this.block(); this.url.setParams({ xhr: true }); var on = this.on; // for local dev if (window.location.hostname == 'localnode.taz.de' ) { // this.url.protocol = 'http'; this.url.hostname = 'localnode.taz.de'; this.url.host = 'localnode.taz.de'; this.url.origin = '//localnode.taz.de'; } //console.log(this.isForm ? 'POST' : 'GET'); console.log(this.url.toString()); $.ajax({ type: this.isForm ? 'POST' : 'GET', url: '' + this.url, cache: false, data: post, dataType: 'html', // 'xml', xhrFields: { withCredentials: true }, beforeSend: function(xhr, settings) { xhr.responseType = 'document'; }, success: function(data, status, xhr) { on[200]($(data), status, xhr); }, error: function(xhr, status, message) { var data = $(xhr.response); if (!data.length) { var text; try { text = xhr.responseText; if (text) text = text.replace(/http:/g, ""); data = $('<div></div>').html(text); } catch (e) { } } if (!data.length) { try { } catch (e) { } } on[xhr.status && on[xhr.status] ? xhr.status : 0 ](data, status, xhr, message); }, complete: function(xhr, status) { } }); }; proto.remove = function() { var registerID = this.domEl.filOtaz_de_asynchLoadable; this.jQ.remove(); allAsyncLoadables[registerID] = null; }; proto.mount = function(data) { var opt = this.opt; var pkg = (data[0] instanceof HTMLDivElement) ? data : data.find('body'); if (!pkg.length) pkg = $(data[0].documentElement); if (!pkg.length) alert('this should not happen ', data[0]); var pick = pkg.find(opt.pick); var me = this; var replace = [{ treatee: me.jQ, pick: pick, ajaxify: true }]; if (opt.replace instanceof Array) replace = replace.concat(opt.replace); $.each(replace, function(i, r) { var i = i, old = $(r.treatee), nju = $(r.pick, pkg); //console.log('debug old nju', old, nju, pkg.prop('outerHTML') ); if (!old.length) return; var isPrimary = i == 0; if (!nju.length && !r.remove) { if (isPrimary) { me.unblock(); me.flying = false; if (me.isForm) sentForm = false; } return; } var anchor = $('<a></a>').hide().insertBefore(old); var id = old.attr('id'); if (id)(nju.length ? nju : anchor).not('script').attr({ id: id }); old.slideUp(function() { old.remove(); if (isPrimary) { me.remove(); if (me.isForm) sentForm = false; } }); var last = anchor; nju.each(function(i, e) { var jQ = $(e); var scripts = false; if (jQ.is('script')) { $('body').append(jQ); return; } if (0 < jQ.find('script').length) { scripts = jQ.find('script'); jQ.find('script').remove(); } var next = { isForm: false }; if (typeof r.ajaxify == 'undefined' || r.ajaxify === true) { next = new AsyncLoadable(jQ, opt); jQ = next.jQ; } else if (!(r.ajaxify instanceof Array)) r.ajaxify = [r.ajaxify]; if (r.ajaxify instanceof Array) $.each(r.ajaxify, function(i, ax) { var o = $.extend({ fallback: [r, opt] }, ax); new AsyncLoadable(jQ.find(fallback(o).treatee), o); }); jQ.hide().removeClass('first last even odd').insertAfter(last); (function() { var prev = jQ.prevAll(':visible'); var next = jQ.nextAll(':visible'); var pos = ''; if (prev.length == 0) pos += ' first'; if (next.length == 0) pos += ' last'; jQ.addClass(pos); next.removeClass('even odd'); })(); if (false !== scripts) { $('body').append(scripts); } jQ.trigger('TAZdomChange'); last = jQ; anchor.remove(); jQ.slideDown(function() { jQ.trigger('TAZboxChange'); (me.opt.on.mounted instanceof Function) && me.opt.on.mounted(jQ); }); if (next.isForm) { var ctrls = next.jQ.find(':input:visible'); if (opt.tabindex > 0) ctrls.attr('tabindex', opt.tabindex); if (opt.focus > 0) ctrls.first().focus() } }); }); }; proto.demandPageReload = function() { this.showMessage('', { block: true, onConfirm: function() { location.protocol = 'https'; return false; }, html: '<p>Um Formular-Inhalte <a href="//de.wikipedia.org/wiki/Hypertext_Transfer_' + 'Protocol_Secure">gesichert übertragen</a> zu können, muß bereits ' + 'diese Seite per HTTPS geladen werden, da Ihr Browser <a href="//de.wiki' + 'pedia.org/wiki/Cross-Origin_Resource_Sharing">neuere Technologie' + '</a> nicht unterstützt.</p>' + '<p>Vielleicht sollten Sie einen <a href="//de.wikipedia.org/wiki/Cross-Origin_' + 'Resource_Sharing#Browser-Unterst.C3.BCtzung">moderneren Browser' + '</a> verwenden.</p>', hint: 'mit https neu laden' }); }; proto.showMessage = function(message, opt) { var opt = ensureObjType(opt, Object); if (opt.block) this.block(); var form = this; var me = $('<form class="sect"></form>') .on('submit', function() { var blockOn = opt.onConfirm instanceof Function && opt.onConfirm() == false; me.slideUp(function() { form.jQ = form.jQ.not(me); me.remove(); }); if (!blockOn) form.unblock(opt.replacement); return false; }) .html((opt.title ? ('<div class="secthead"><h2><a><span>' + opt.title + '</span></a></h2></div>') : '') + '<div class="sectbody">' + (message ? ('<p>' + message + '</p>') : '') + (opt.html || '') + '<input type="submit" value="' + (opt.hint || 'ok') + '" class="submit"></input>' + '</div>' ) .hide().insertAfter(this.jQ); if (opt.slide) me.slideDown(function() { me.trigger('TAZboxChange'); }); else me.show(); form.jQ = form.jQ.add(me); }; proto.block = function() { var form = this.jQ; this.restore = form.clone(true); form.submit(function() { return false; }); form.find('.sectbody').css({ opacity: 0.3 }); form.find('input, textarea').attr({ disabled: true }); form.find('input:submit').fadeOut(); return this.restore; }; proto.unblock = function(replacement) { var replacement = replacement || this.restore; if (!replacement) return false; this.replaceForm(replacement); this.restore = null; }; proto.replaceForm = function(replace) { var form = this.jQ; var replace = $(replace); replace.hide().insertAfter(form.last()).slideDown(function() { replace.trigger('TAZboxChange'); }); form.slideUp(function() { form.remove(); }); this.jQ = replace; this.domEl = replace[0]; }; })(); var ensureObjType = function(obj, Type) { var obj = obj, Type = Type; (typeof Type == 'undefined') && (Type = Object); if (typeof obj == 'undefined') obj = new Type; else if (!(obj instanceof Type)) { alert('filOtaz_de.ajaxify:ensureObjType cries: ' + obj + ' is not of demanded type ' + (new Type) + '.' ); return undefined; } return obj; }; })(); // debug // todo bring together with login case above filOtaz_de.ajaxify(formSel, { // param removed for testing // url: formUrl + param, // where to fetch from. overrides form's action url: formUrl, // where to fetch from. overrides form's action pick: 'fragment#form >*', // what to take from response | mar: this was hardcoded in old frontend. should be changed. needSSL: false, tabindex: 1, focus: 0, none: null }); $(formSel).trigger('TAZloadAsync'); // loadForm ADDED BY MAR } </script> </div> </div> <script type="application/ld+json"> {"@context":"http://schema.org/","@type":"FAQPage","@id":"https://taz.de/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/","mainEntity":[{"@type":"Question","name":"Habt ihr einen Newsletter für die taz zahl ich-Community?","acceptedAnswer":{"@type":"Answer","text":"Ja! Alle zwei Wochen empfehlen wir im Newsletter für taz zahl ich-Mitglieder ausgewählte Artikel und Recherchen, halten Sie über die taz und unsere Herzensprojekte auf dem Laufenden und laden zu Events ein. Außerdem berichten wir natürlich über den aktuellen Stand unseres Solidamodells. Anmelden können Sie sich hier:"}}]} </script> </div> </div> </section> </div> </aside> <div class="column is-4-tablet submodule dotted mobile-order-3"> <button data-target="modal-o3c1oazww" role="button" class="teaser-link link js-modal-trigger icon-link-wrapper "> <p class="headline typo-topline-regular mgb-small">taz zahl ich</p> <p class="headline break-word link typo-head-small "> Ich zahle für die taz – warum kann ich nicht die App nutzen? </p> <div class="mgt-auto"> <div class=" typo-link-grey-onpage icon-link-wrapper is-flex mgt-medium is-align-items-center"> <span class="typo-link icon-link-text"> mehr lesen </span> <span class="icon small read_more_grey_redhov"></span> </div> </div> </button> </div> <aside id="modal-o3c1oazww" class="modal linklist_collection module-linklist_collection"> <div class="modal-background"></div> <div class="modal-card "> <header class="is-flex is-flex-direction-column modal-card-head"> <div class="is-flex full is-align-items-flex-start is-flex-direction-row "> <p class="full mgr-medium typo-head-medium">Ich zahle für die taz – warum kann ich nicht die App nutzen?</p> <button type="button" role="button" class="mgl-auto delete-modal icon medium-large close_circle_redhov" aria-label="close"> </button> </div> <div class="dotted-inline mgt-medium"></div> </header> <section class="modal-card-body pt-0"> <div class="columns is-flex is-justify-content-center"> <div class=" column "> <div x-data="{backlink: $(`.navbar-first-level .navbar-link[title='service']`).attr('href') || '/!v=faqs'}" class="column is-8-tablet is-12-mobile mgh-auto-tablet mgb-large faq-rte "> <div class="mgt-medium typo-teaser-text"> <p class="first paragraph last">Unser Modell <em>taz zahl ich</em> und die taz-App sind zwei verschiedene Dinge. <em>taz zahl ich</em> steht für die freiwillige und solidarische Bezahlung für unser Portal taz.de. Einen Zugang zur taz-App – der täglich erscheinenden Tageszeitung in digitaler Form – erhalten unsere Unterstützer:innen dadurch nicht. Die App erhalten Sie über ein klassisches Abo.</p> </div> </div> <script type="application/ld+json"> {"@context":"http://schema.org/","@type":"FAQPage","@id":"https://taz.de/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/","mainEntity":[{"@type":"Question","name":"Ich zahle für die taz – warum kann ich nicht die App nutzen?","acceptedAnswer":{"@type":"Answer","text":"Unser Modell taz zahl ich und die taz-App sind zwei verschiedene Dinge. taz zahl ich steht für die freiwillige und solidarische Bezahlung für unser Portal taz.de. Einen Zugang zur taz-App – der täglich erscheinenden Tageszeitung in digitaler Form – erhalten unsere Unterstützer:innen dadurch nicht. Die App erhalten Sie über ein klassisches Abo."}}]} </script> </div> </div> </section> </div> </aside> <div class="column is-4-tablet submodule dotted mobile-order-4"> <button data-target="modal-u9n8zmuaz" role="button" class="teaser-link link js-modal-trigger icon-link-wrapper "> <p class="headline typo-topline-regular mgb-small">taz zahl ich</p> <p class="headline break-word link typo-head-small "> Warum sehe ich eure Zahlunsgsaufforderungen, obwohl ich schon zahle? </p> <div class="mgt-auto"> <div class=" typo-link-grey-onpage icon-link-wrapper is-flex mgt-medium is-align-items-center"> <span class="typo-link icon-link-text"> mehr lesen </span> <span class="icon small read_more_grey_redhov"></span> </div> </div> </button> </div> <aside id="modal-u9n8zmuaz" class="modal linklist_collection module-linklist_collection"> <div class="modal-background"></div> <div class="modal-card "> <header class="is-flex is-flex-direction-column modal-card-head"> <div class="is-flex full is-align-items-flex-start is-flex-direction-row "> <p class="full mgr-medium typo-head-medium">Warum sehe ich eure Zahlunsgsaufforderungen, obwohl ich schon zahle?</p> <button type="button" role="button" class="mgl-auto delete-modal icon medium-large close_circle_redhov" aria-label="close"> </button> </div> <div class="dotted-inline mgt-medium"></div> </header> <section class="modal-card-body pt-0"> <div class="columns is-flex is-justify-content-center"> <div class=" column "> <div x-data="{backlink: $(`.navbar-first-level .navbar-link[title='service']`).attr('href') || '/!v=faqs'}" class="column is-8-tablet is-12-mobile mgh-auto-tablet mgb-large faq-rte "> <div class="mgt-medium typo-teaser-text"> <p class="first paragraph">Natürlich sollten alle, die uns bereits unterstützen, die Zahlungserinnerungen nicht mehr sehen müssen. Dies ist technisch leider nicht so einfach, eine Erkennung unserer Unterstützer:innen am Gerät ist schwierig (was vom Datenschutz-Aspekt her ja durchaus etwas Gutes ist.) Es gibt auch keinen eigenen Login oder Ähnliches. Es ist ein wichtiger Teil der Idee hinter dem solidarischen Bezahlmodell, dass es keine Nachteile für diejenigen gibt, die nicht zahlen (können) – und somit eben auch keine Vorteile für die, die es tun.</p> <p class="paragraph">Die Einblendung unserer „Paywahl“ kann man <strong>per Cookie deaktivieren</strong>, sofern Sie Cookies in Ihrem Browser akzeptieren. <a href="/!v=ab738e29-a88d-45b4-bbd1-80532c985034" target="_blank" class="link in-text-link">Hier finden Sie dazu eine Anleitung</a>.</p> <p class="paragraph last"><a href="/!v=96216c1c-4d5e-4757-a70f-c45786edb7b3" target="_blank" class="link in-text-link">Der Micropayment-Bereich</a> direkt unter den Artikeln wird hingegen immer ausgespielt. Hier richten wir uns an Menschen, die uns noch nicht oder nicht mehr unterstützen und eine (erneute) Unterstützung in Erwägung ziehen. Da dieser Bereich die Lesbarkeit der Artikel nicht einschränkt, hoffen wir, dass unsere Unterstützer:innen über sie hinwegsehen können.</p> </div> </div> <script type="application/ld+json"> {"@context":"http://schema.org/","@type":"FAQPage","@id":"https://taz.de/!v=bd8182f9-0363-4f43-936f-7a2f0666b18c/","mainEntity":[{"@type":"Question","name":"Warum sehe ich eure Zahlunsgsaufforderungen, obwohl ich schon zahle?","acceptedAnswer":{"@type":"Answer","text":"Natürlich sollten alle, die uns bereits unterstützen, die Zahlungserinnerungen nicht mehr sehen müssen. Dies ist technisch leider nicht so einfach, eine Erkennung unserer Unterstützer:innen am Gerät ist schwierig (was vom Datenschutz-Aspekt her ja durchaus etwas Gutes ist.) Es gibt auch keinen eigenen Login oder Ähnliches. Es ist ein wichtiger Teil der Idee hinter dem solidarischen Bezahlmodell, dass es keine Nachteile für diejenigen gibt, die nicht zahlen (können) – und somit eben auch keine Vorteile für die, die es tun.\n Die Einblendung unserer „Paywahl“ kann man per Cookie deaktivieren, sofern Sie Cookies in Ihrem Browser akzeptieren. Hier finden Sie dazu eine Anleitung.\n Der Micropayment-Bereich direkt unter den Artikeln wird hingegen immer ausgespielt. Hier richten wir uns an Menschen, die uns noch nicht oder nicht mehr unterstützen und eine (erneute) Unterstützung in Erwägung ziehen. Da dieser Bereich die Lesbarkeit der Artikel nicht einschränkt, hoffen wir, dass unsere Unterstützer:innen über sie hinwegsehen können."}}]} </script> </div> </div> </section> </div> </aside> </section> </section></section><section x-show="$store.campaign.pagesShow['form-abort']" class="main " :class="{ 'is-active': $store.campaign.pagesShow['form-abort'] }" x-cloak="" data-xml-entry-point="page" data-role="form-abort"> <section class="outerwrapper contains-module-notification has-no-background "> <section class="module columns notification module-notification abort-message is-first "> <div class="column is-8-tablet mobile-order-1"> <div class="is-flex is-align-items-flex-start"> <span class="pr-small-medium fade-in-fast icon medium sad_redhov no-hover"> </span> <div> <p class=" headline typo-head-medium "> Schade </p> <span class="typo-teaser-text"> <p class="first paragraph last">Aber vielleicht das nächste Mal?</p> </span> </div> </div> </div> </section> </section></section><section x-show="$store.campaign.pagesShow['form-error']" class="main " :class="{ 'is-active': $store.campaign.pagesShow['form-error'] }" x-cloak="" data-xml-entry-point="page" data-role="form-error"> <section class="outerwrapper contains-module-notification has-background-redaktion has-background "> <section class="module columns notification module-notification error-message is-first has-background-redaktion"> <div class="column is-8-tablet mobile-order-1"> <div class="is-flex is-align-items-flex-start"> <span class="pr-small-medium fade-in-fast icon medium error_darkhov no-hover"> </span> <div> <p class=" headline typo-head-medium has-text-notifications-error-text"> Es ist ein Fehler aufgetreten </p> <span class="typo-teaser-text"> <p class="first paragraph last">Es tut uns leid, hier scheint ein Problem aufgetaucht zu sein.</p> </span> </div> </div> </div> </section> </section> <section class="outerwrapper contains-module-link has-no-background "> <section class="module columns link module-link primary-button "> <div class="column is-12 pt-0 mobile-order-1"> <div class="typo-teaser-text pl-xxlarge typo-teaser-text "> <a href="https://taz.de/"> Zurück zu taz.de </a> </div> </div> </section> </section></section> <footer id="footer" class="module pb-xxxlarge has-text-white has-background-black hasMultiply htmlSkeleton module-htmlSkeleton footer ph-gap "> <div x-show="$store.campaign.pagesShow['form-wrapper'] !== true" class="columns is-multiline footer-header mg-0"> <div class="column is-flex is-flex-direction-row-tablet is-align-items-center ph-0 pt-0"> <a href="https://taz.de" class="taz-header mgt-large-mobile mgr-auto">taz<span class="logo"></span></a> <div class="socialHeader is-flex is-flex-shrink-0 is-align-items-center mgr-auto-mobile pv-small-medium pv-large-mobile"> <p class="typo-icontext">Folgen Sie uns</p> <a rel="noopener" target="_blank" href="https://www.instagram.com/taz.die_tageszeitung/?hl=de" class="icon medium-large instagram_white_darkhov mgl-small-medium"></a> <a rel="noopener" target="_blank" href="https://twitter.com/tazgezwitscher" class="icon medium-large x-twitter_white_rounded_darkhov mgl-small-medium"></a> <a rel="noopener" target="_blank" href="https://www.facebook.com/taz.kommune/" class="icon medium-large facebook_white_darkhov mgl-small-medium"></a> </div> </div> </div> <hr x-show="$store.campaign.pagesShow['form-wrapper'] !== true" class="has-text-white"> <section class="columns footer-zone is-multiline "> <div class="column is-3 "> <a href="https://taz.de/Ressorts/!p4608/" class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Ressorts</span> <span class="icon center medium left mgl-xsmall arrow_right_white_darkhov"></span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="/Politik/!p4615/" title="Politik" token="link" class="link footer-link"> Politik </a> </li> <li class="listitem"> <a href="/Oeko/!p4610/" title="Öko" token="link" class="link footer-link"> Öko </a> </li> <li class="listitem"> <a href="/Gesellschaft/!p4611/" title="Gesellschaft" token="link" class="link footer-link"> Gesellschaft </a> </li> <li class="listitem"> <a href="/Kultur/!p4639/" title="Kultur" token="link" class="link footer-link"> Kultur </a> </li> <li class="listitem"> <a href="/Sport/!p4646/" title="Sport" token="link" class="link footer-link"> Sport </a> </li> <li class="listitem"> <a href="/Berlin/!p4649/" title="Berlin" token="link" class="link footer-link"> Berlin </a> </li> <li class="listitem"> <a href="/Nord/!p4650/" title="Nord" token="link" class="link footer-link"> Nord </a> </li> <li class="listitem"> <a href="/Wahrheit/!p4644/" title="Wahrheit" token="link" class="link footer-link"> Wahrheit </a> </li> </ul> </div> <div class="column is-3 "> <a href="https://taz.de/Themen/!p5360/" class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Themen</span> <span class="icon center medium left mgl-xsmall arrow_right_white_darkhov"></span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="/Schwerpunkt-Nahost-Konflikt/!t5007999/" title="Nahost-Konflikt" token="link" class="link footer-link"> Nahost-Konflikt </a> </li> <li class="listitem"> <a href="/Schwerpunkt-USA-unter-Donald-Trump/!t5079612/" title="USA unter Donald Trump" token="link" class="link footer-link"> USA unter Donald Trump </a> </li> <li class="listitem"> <a href="/BSW/!t5017764/" title="BSW" token="link" class="link footer-link"> BSW </a> </li> <li class="listitem"> <a href="/Wirtschaftskrise/!t5008298/" title="Wirtschaftskrise" token="link" class="link footer-link"> Wirtschaftskrise </a> </li> <li class="listitem"> <a href="/Schwerpunkt-Femizide/!t5514275/" title="Femizide" token="link" class="link footer-link"> Femizide </a> </li> <li class="listitem"> <a href="/Schwerpunkt-Krieg-in-der-Ukraine/!t5008150/" title="Krieg in der Ukraine" token="link" class="link footer-link"> Krieg in der Ukraine </a> </li> <li class="listitem"> <a href="/Schwerpunkt-Bundestagswahl-2025/!t5007549/" title="Bundestagswahl 2025" token="link" class="link footer-link"> Bundestagswahl 2025 </a> </li> <li class="listitem"> <a href="/Podcast-Bundestalk/!t5780050/" title="Podcast „Bundestalk“" token="link" class="link footer-link"> Podcast „Bundestalk“ </a> </li> </ul> </div> <div class="column is-3 "> <a href="https://taz.de/Verlag/!v=5ee91bd4-22a3-4490-b2be-5bcf10f38f53/" class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Verlag</span> <span class="icon center medium left mgl-xsmall arrow_right_white_darkhov"></span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="https://taz.de/Verlag/Aktuelles/!v=8f20076f-2be2-41ba-b79b-5a03bb0ecc51/" title="Aktuelles" token="link" class="link footer-link"> Aktuelles </a> </li> <li class="listitem"> <a target="_blank" rel="noopener" href="https://blogs.taz.de/hausblog/" title="Hausblog" token="link" class="link footer-link"> Hausblog </a> </li> <li class="listitem"> <a href="https://taz.de/Verlag/Stellen/!v=541302c5-e542-4f33-b701-f9ee0c4970b6/" title="Stellen" token="link" class="link footer-link"> Stellen </a> </li> <li class="listitem"> <a href="https://taz.de/Verlag/Presse/!v=463db20f-04cb-433f-a239-fdaba147bc6c/" title="Presse" token="link" class="link footer-link"> Presse </a> </li> <li class="listitem"> <a href="https://taz.de/Verlag/Die-Seitenwende/!v=165b2a3c-a94a-4114-8616-1b254db7ced2/" title="Die Seitenwende" token="link" class="link footer-link"> Die Seitenwende </a> </li> </ul> </div> <div class="column is-3 "> <a href="https://taz.de/Unterstuetzen/!v=17cb2c07-6c09-4c12-8a7b-d5b3c629e814/" class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Unterstützen</span> <span class="icon center medium left mgl-xsmall arrow_right_white_darkhov"></span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="https://taz.de/Unterstuetzen/abo/!v=2f71d22a-827d-4693-a3aa-1d7225a94c26/" title="abo" token="link" class="link footer-link"> abo </a> </li> <li class="listitem"> <a href="https://taz.de/Unterstuetzen/genossenschaft/!v=45dd710a-25d1-45d5-bcf5-fce24b72cbf2/" title="genossenschaft" token="link" class="link footer-link"> genossenschaft </a> </li> <li class="listitem"> <a href="https://taz.de/Unterstuetzen/taz-zahl-ich/!v=89a68133-aa34-42d3-9f80-01ebd7e1738b/" title="taz zahl ich" token="link" class="link footer-link"> taz zahl ich </a> </li> <li class="listitem"> <a href="https://taz.de/Unterstuetzen/panter-stiftung/!v=e4eb8635-98d1-4a5d-b035-a82efb835967/" title="panter stiftung" token="link" class="link footer-link"> panter stiftung </a> </li> <li class="listitem"> <a href="https://taz.de/Unterstuetzen/recherchefonds-ausland/!v=69b91b4d-9db1-4b9f-a828-3a9143111026/" title="recherchefonds ausland" token="link" class="link footer-link"> recherchefonds ausland </a> </li> </ul> </div> <div class="column is-3 "> <a href="https://taz.de/Newsletter/!v=f45a1f72-d45b-4f0d-8ae8-79635f4033dd/" class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Newsletter</span> <span class="icon center medium left mgl-xsmall arrow_right_white_darkhov"></span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a target="_blank" rel="noopener" href="https://q5kf46ry.sibpages.com/" title="team zukunft" token="link" class="link footer-link"> team zukunft </a> </li> <li class="listitem"> <a href="https://taz.de/Alles-was-taz-ist/!v=9ad5b3e4-3203-4400-8ab6-67b9a787079a/" title="taz frisch" token="link" class="link footer-link"> taz frisch </a> </li> <li class="listitem"> <a href="https://taz.de/Unser-taz-zahl-ich-Newsletter/!v=1291399f-c7d5-40a9-83a2-dd460621c443/" title="taz zahl ich" token="link" class="link footer-link"> taz zahl ich </a> </li> <li class="listitem"> <a href="https://taz.de/taz-lab-Infobrief/!v=ab680df0-0d2c-4892-b901-2412e0a7b8eb/#matomo:pk_campaign=taz-Newsletter-tazlab&amp;pk_source=taz.de&amp;pk_medium=taz.de&amp;pk_content=aus-kampagne&amp;pk_placement=Footer-Startseite/" title="taz lab Infobrief" token="link" class="link footer-link"> taz lab Infobrief </a> </li> </ul> </div> <div class="column is-3 "> <a href="https://taz.de/Veranstaltungen/!v=a0be61fd-26bc-43aa-b2ef-0e030355a949/" class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Veranstaltungen</span> <span class="icon center medium left mgl-xsmall arrow_right_white_darkhov"></span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="https://taz.de/Die-taz-spricht-fuer-sich--und-Sie/!v=a0be61fd-26bc-43aa-b2ef-0e030355a949/?vp=6180711/" title="Aktuelle" token="link" class="link footer-link"> Aktuelle </a> </li> <li class="listitem"> <a href="https://taz.de/Die-taz-spricht-fuer-sich--und-Sie/!v=a0be61fd-26bc-43aa-b2ef-0e030355a949/?vp=6180713/" title="Vor Ort" token="link" class="link footer-link"> Vor Ort </a> </li> <li class="listitem"> <a href="https://taz.de/Die-taz-spricht-fuer-sich--und-Sie/!v=a0be61fd-26bc-43aa-b2ef-0e030355a949/?vp=6180715/" title="Live im Stream" token="link" class="link footer-link"> Live im Stream </a> </li> <li class="listitem"> <a href="https://taz.de/Die-taz-spricht-fuer-sich--und-Sie/!v=a0be61fd-26bc-43aa-b2ef-0e030355a949/?vp=6180721/" title="Vergangene" token="link" class="link footer-link"> Vergangene </a> </li> </ul> </div> <div class="column is-3 "> <a class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Mehr taz Lesestoff</span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="https://taz.de/Mehr-taz-Lesestoff/taz-FUTURZWEI/!v=8ce19a8c-38e5-4a30-920c-8176f4c036c0/" title="taz FUTURZWEI" token="link" class="link footer-link"> taz FUTURZWEI </a> </li> <li class="listitem"> <a target="_blank" rel="noopener" href="https://blogs.taz.de/" title="taz Blogs" token="link" class="link footer-link"> taz Blogs </a> </li> <li class="listitem"> <a target="_blank" rel="noopener" href="https://monde-diplomatique.de/" title="Le Monde diplomatique" token="link" class="link footer-link"> Le Monde diplomatique </a> </li> </ul> </div> <div class="column is-3 "> <a class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Mehr taz Angebote</span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="https://taz.de/Mehr-taz-Angebote/Reisen/!v=ff445dca-48e0-4ffa-95fa-60d466e9a152/" title="Reisen" token="link" class="link footer-link"> Reisen </a> </li> <li class="listitem"> <a href="https://taz.de/Mehr-taz-Angebote/Kantine/!v=44afcac2-94aa-43cd-bc80-69fee4341dc4/" title="Kantine" token="link" class="link footer-link"> Kantine </a> </li> <li class="listitem"> <a target="_blank" rel="noopener" href="https://shop.taz.de/" title="Shop" token="link" class="link footer-link"> Shop </a> </li> <li class="listitem"> <a href="https://taz.de/Mehr-taz-Angebote/Anzeigen/!v=48b787de-0383-4c31-a6d1-15c92ea81ee3/" title="Anzeigen" token="link" class="link footer-link"> Anzeigen </a> </li> </ul> </div> <div class="column is-3 "> <a href="https://taz.de/Fragen-Hilfe/!v=673b67c7-bf6c-44de-9d7d-b86c5a620288/" class=" icon-link-wrapper footer-link is-flex is-align-items-center "> <span class="typo-head-extrasmall "> Fragen &amp; Hilfe</span> <span class="icon center medium left mgl-xsmall arrow_right_white_darkhov"></span> </a> <ul class="typo-linklist list"> <li class="listitem"> <a href="https://taz.de/redaktion-der-taz/Wie-kann-ich-einen-Leserinnenbrief-an-die-taz-Redaktion-senden/!v=f41b541d-0e60-4ba2-8853-70e8a19fbf48/" title="Feedback" token="link" class="link footer-link"> Feedback </a> </li> <li class="listitem"> <a href="https://taz.de/abo/Wie-erreiche-ich-den-Aboservice/!v=c8716ec3-202d-46be-ba1b-c1f9cd3e9515/" title="Aboservice" token="link" class="link footer-link"> Aboservice </a> </li> <li class="listitem"> <a href="https://taz.de/Fragen-Hilfe/Downloads-fuer-Abonnierende/!v=cc10271f-4e70-40eb-babd-65117b993b88/" title="Downloads für Abonnierende" token="link" class="link footer-link"> Downloads für Abonnierende </a> </li> </ul> </div> </section> <hr class="lineImp mgt-medium mgt-0-mobile has-text-white"> <div class="columns mgt-small-medium pb-medium "> <div class="column is-flex"> <p class="typo-teaser-text mgt-small-medium-mobile"> © 2024 taz Verlags und Vertriebs GmbH</p> <span class="typo-small-print">Alle Rechte vorbehalten. Bei rechtlichen Fragen oder für Genehmigungen wenden Sie sich bitte an <a class="footer-link link" href="mailto:lizenzen@taz.de "> lizenzen@taz.de</a> </span> </div> <div class="column agb mgt-large-mobile"> <div class=" typo-linklist mgl-auto mgl-0-mobile "> <a href="https://taz.de/redaktion-der-taz/Wie-kann-ich-mit-der-taz-Redaktion-Kontakt-aufnehmen/!v=f41b541d-0e60-4ba2-8853-70e8a19fbf48/" title="Feedback " class="pr-xsmall link footer-link"> Feedback </a> <a href="https://taz.de/taz-die-tageszeitung/!vn5957750/" title="Redaktionsstatut " class="pr-xsmall link footer-link"> Redaktionsstatut </a> <a href="https://taz.de/Wie-die-taz-Kuenstliche-Intelligenz-nutzt/!vn5967635/" title="KI-Leitlinie " class="pr-xsmall link footer-link"> KI-Leitlinie </a> <a href="https://taz.de/investigativ/" title="Informant " class="pr-xsmall link footer-link"> Informant </a> <a href="https://taz.de/Wir-sind-uns-sicher/!vn5957314/" title="Datenschutz " class="pr-xsmall link footer-link"> Datenschutz </a> <a href="https://taz.de/Fuer-tazde/!vn5957311/" title="Impressum " class="pr-xsmall link footer-link"> Impressum </a> <a href="https://taz.de/Abonnementvertraege-der-taz/!vn5957307/" title="AGB " class="pr-xsmall link footer-link"> AGB </a> <a href="https://taz.de/Die-Seitenwende/!v=165b2a3c-a94a-4114-8616-1b254db7ced2/" title="Seitenwende " class="pr-xsmall link footer-link"> Seitenwende </a> <a style="cursor: pointer" onclick="window._sp_.loadPrivacyManagerModal(710417)" title="Einwilligungen widerrufen (Ads)" class="pr-xsmall link footer-link"> Einwilligungen widerrufen (Ads) </a> </div> </div> </div> </hr></hr></footer> </div> </body> <script id="main-script" type="text/javascript" src="/lib/taz-verlag-node/js/own_functions.js"></script> </html>

Pages: 1 2 3 4 5 6 7 8 9 10