[3.2] Javascript Code nur für mobile User sichtbar

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Antworten
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

[3.2] Javascript Code nur für mobile User sichtbar

Beitrag von Lizardx »

Ich benutze ein Bannerads-System in meinem Forum, der Code für die Bannerausgabe besteht aus Javascript. Ich möchte nun diesen Code so einbauen, dass zwischen mobilen Usern und Smartphone Usern unterschieden wird. Wenn also ein mobiler User das Forum aufruft, soll an einer bestimmten Stelle ein entsprechendes Banner eingeblendet werden. Bei Desktop Usern soll an einer anderen Stelle ein entsprechendes Banner eingeblendet werden.
Leider weiß ich nicht wie ich das anstellen kann. Habe schon danach gegoogelt und lande meistens auf Anleitungen wo man die Bannergrafiken in die CSS Datei einbindet (wie beispielsweise hier erklärt https://www.phpbb.com/community/viewtop ... &t=2270871).
Jedoch habe ich Javascript im Einsatz und möchte am liebsten diesen Code direkt in die overall_header.html reinschreiben.

Kann mir hierbei jemand weiterhelfen?
rockmartin
Mitglied
Beiträge: 77
Registriert: 29.05.2013 08:40
Kontaktdaten:

Re: [3.2] Javascript Code nur für mobile User sichtbar

Beitrag von rockmartin »

Moin,

das kann man wiederum mit Javascript lösen:

Code: Alles auswählen

// Erst laden wenn Bildschirm Breite x

if ($(window).width() >= BREITE_IN_PIXEL) {
...dein javascript code hier...
}
Benutzeravatar
Crizzo
Administrator
Administrator
Beiträge: 11955
Registriert: 19.05.2005 21:45
Kontaktdaten:

Re: [3.2] Javascript Code nur für mobile User sichtbar

Beitrag von Crizzo »

Hi,

du kannst mit JavaScript bzw. JQuery abfragen, ob der Browser zu seinem Gerät ohne Maus bzw. eben mit Touchscreen gehört. Danach kannst du dann den JS-Code einblenden.

Kannst mal bei sowas reinschauen: http://www.billerickson.net/code/touch- ... detection/ oder dir unsere JS-Datei für die Navi angucken: styles/phpBBdev1/template/phpbbde_navi.js

Grüße
Lizardx
Mitglied
Beiträge: 212
Registriert: 20.05.2006 18:35

Re: [3.2] Javascript Code nur für mobile User sichtbar

Beitrag von Lizardx »

Ich würde gerne die erstere Variante probieren. Leider sind meine Javascript-Kenntnisse nicht so berauschend, habe aber mit Google folgendes finden können:

Code: Alles auswählen

<script type='text/javascript'>
$(document).ready(function() {
    function checkWidth() {
        var windowSize = $(window).width();

        if (windowSize <= 480) {
		
		
		<script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://www.online.com/ads/www/delivery/ajs.php':'http://www.online.com/ads/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=1&block=1");
   document.write ('&cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
   document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
   document.write ("&loc=" + escape(window.location));
   if (document.referrer) document.write ("&referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--><noscript><a href='http://www.online.com/ads/www/delivery/ck.php?n=aaf51031&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://www.online.com/ads/www/delivery/avw.php?zoneid=1&cb=INSERT_RANDOM_NUMBER_HERE&n=aaf51031' border='0' alt='' /></a></noscript>
        }
        
        
        else if (windowSize <= 1024) {
        
       <script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://www.online.com/ads/www/delivery/ajs.php':'http://www.online.com/ads/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=1&block=1");
   document.write ('&cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
   document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
   document.write ("&loc=" + escape(window.location));
   if (document.referrer) document.write ("&referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--><noscript><a href='http://www.online.com/ads/www/delivery/ck.php?n=aaf51031&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://www.online.com/ads/www/delivery/avw.php?zoneid=1&cb=INSERT_RANDOM_NUMBER_HERE&n=aaf51031' border='0' alt='' /></a></noscript>


else if (windowSize >= 1024) {
 
    
    
 <script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://www.online.com/ads/www/delivery/ajs.php':'http://www.online.com/ads/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=1&block=1");
   document.write ('&cb=' + m3_r);
   if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
   document.write (document.charset ? '&charset='+document.charset : (document.characterSet ? '&charset='+document.characterSet : ''));
   document.write ("&loc=" + escape(window.location));
   if (document.referrer) document.write ("&referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--><noscript><a href='http://www.online.com/ads/www/delivery/ck.php?n=aaf51031&cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://www.online.com/ads/www/delivery/avw.php?zoneid=1&cb=INSERT_RANDOM_NUMBER_HERE&n=aaf51031' border='0' alt='' /></a></noscript>   
        
        
    }

    // Execute on load
    checkWidth();
    // Bind event listener
    $(window).resize(checkWidth);
});


</script>


Dieser Code ist leider fehlerhaft. Wie gesagt, bin kein Javascript Experte... habe mehrere Varianten ausprobiert aber jedesmal werden die Banner nicht angezeigt oder tauchen Fehlermeldungen auf.

Kann netterweise jemand weiterhelfen?
Antworten

Zurück zu „Support-Forum“