Shop Hosting
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Page Speed Optimierung 100/100

    mhh!?

    • Neu im Forum
    • Beiträge: 47
    • Geschlecht:
    Page Speed Optimierung 100/100
    am: 18. Juli 2012, 18:56:08
    Hallo Kollegen,

    ich habe nun schon hier im Forum und auf Google sehr viel gelesen doch leider keine brauchbaren Angaben zur Umsetzung der Probleme gefunden.

    Mein Page Speed ist 93/100

    Nun habe ich noch folgende Meldungen die ich nicht gerichtet bekomme:

    • JavaScript später parsen
    • Asynchrone Ressourcen bevorzugen / habe google-analytics in der general.js eingefügt
    • Reihenfolge der Formate und Skripts optimieren / Die folgenden Inline-Skriptblöcke wurden in http://www.domain.de/ zwischen einer externen CSS-Datei und einer anderen Ressource gefunden. Verschieben Sie das Inline-Skript an eine Stelle vor der externen CSS-Datei oder hinter der nächsten Ressource.
    • Zeichensatz angeben / ist in der header.php wird aber nicht erkannt!?

    hier mal mein JS zur Übersicht

    Code: Javascript  [Auswählen]
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery.js" type="text/javascript"></script>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/thickbox.js" type="text/javascript"></script>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/x_core.js" type="text/javascript"></script>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/x_dom.js" type="text/javascript"></script>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/x_event.js" type="text/javascript"></script>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/az_animebox.js" type="text/javascript"></script>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/behavior.js" type="text/javascript"></script>
    <?php /* Merkzettel */ ?>
    <script type="text/javascript">function submit_to_wishlist() { document.cart_quantity.submit_target.value = "wishlist"; document.cart_quantity.submit(); } </script>
    <?php /* Warenkorb Animation */ ?>
    <script type="text/javascript">!xAddEventListener(window, 'load', function() { newbox = new animBox('animBoxCart', 1, 2, 1, 150); xOpacity('animBoxCart', 0.9); newbox.reposition('btn_animBoxCart', '-', '+'); }, false);</script>
    <?php /* Bookmarks Google, Twitter, Facebook */ ?>
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
    <script type="text/javascript" src="https://apis.google.com/js/plusone.js">{lang: 'de'}</script>
    <?php /* Google Analytics */ ?>
    <script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script>
    <script type="text/javascript">try { var pageTracker = _gat._getTracker("UA-xxxxxx-x"); pageTracker._trackPageview(); } catch(err) {}</script>
    <?php /* Produkt Bilder Animation */ ?>
    <script type="text/javascript" src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery-1.4.4.min.js"></script>
    <?php /* Such Automatick */ ?>
    <script type="text/javascript" src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/autocomplete.js"></script>

    <script type="text/javascript">

    <?php
        if (strstr($PHP_SELF, FILENAME_CHECKOUT_PAYMENT)) {
        ?>
        <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/jquery-ui.js" type="text/javascript"></script>
        <script type="text/javascript">
          var setChecked = function(oThis) {
            setTimeout(function(){
              $(oThis).attr("checked","checked");
            },10);
          };
         
          $(function() {
            $("#accordion_checkout").accordion({
              header: 'ul',
              collapsible: false ,
              autoHeight: false ,
              active: false ,
              change: function(event, ui) {
                setChecked ($("input",ui.newHeader)); }
            });
            $("#accordion_checkout ul input").css("margin-left","40px");
            $("#accordion_checkout ul input").eq(parseInt(payment_selected)).attr("checked","checked");
            $("#accordion_checkout").accordion( "option", "active", parseInt(payment_selected) );
          });
        </script>
        <?php } ?>

    <!--
    $(document).ready(function(){
            $("#search").autocomplete("search_result.php", {
                    width: 310,
                    selectFirst: false,
                    max: 20,
            //      highlight: true,
                    scroll: true,
                    scrollHeight: 300,
                    formatItem: function(data, i, n, value) {
                                            return "<img src='" + value.split(";")[0] + "' id='search' alt='' /> " + value.split(";")[1];
                    },
                    formatResult: function(data, value) {
                            return value.split(";")[1];
                    }
            });
             
            $("#search").result(function(event, data, formatted) {
             document.forms["quick_find"].submit();
     });
    });
    //-->
    </script>



    <script type="text/javascript"><!--
            function newWinOpen(url, name, param)
            {
                    param_base = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,screenX=150,screenY=150,top=150,left=150';
                    winHandle = this.open(url, name, param_base + param);
                    winHandle.focus();
                    if(winHandle.opener==null)
                    {
                            winHandle.opener=self;
                    }

                    //return false;
            }


    //-->
    </script>

    <script type="text/Javascript">
    <!--
    function createXMLHttpRequest() {

    var ua;

    if(window.XMLHttpRequest) {
        try {
          ua = new XMLHttpRequest();
        } catch(e) {
          ua = false;
        }
      } else if(window.ActiveXObject) {
        try {
          ua = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          ua = false;
        }
      }
      return ua;
    }

    var req = createXMLHttpRequest();

    function sendRequest(get,action,id,target,img) {
            if(target == null)
                    targetid= 'blog_inhalt';
            else
                    targetid= target;

            if(action == 'new') {
                    document.getElementById('comment').className = 'blog';
                    req.open('get', 'blog_request.php?open='+ get + '&action=' + action + '&blog_id=' + id);
            }
            else if(action == 'insert') {
                    req.open('get', 'blog_request.php?open='+get+'&action='+action+'&blog_id='+id+'&img_id='+img);
             }
            else
                    req.open('get', 'blog_request.php?open='+ get);
           
            req.onreadystatechange = handleResponse;
            req.send(null);
    }

    function get(obj) {
            <?php if(BLOG_CAPTCHA == 'ja') { ?>
            var poststr = "name=" + encodeURI( document.getElementById("name").value ) +
                    "&text=" + encodeURI( document.getElementById("text").value ) +
                    "&blog_id=" + encodeURI( document.getElementById("blog_id").value) +
                    "&captcha=" + encodeURI( document.getElementById("captcha").value);
        <?php } else { ?>
       
            var poststr = "name=" + encodeURI( document.getElementById("name").value ) +
                    "&text=" + encodeURI( document.getElementById("text").value ) +
                    "&blog_id=" + encodeURI( document.getElementById("blog_id").value);
        <?php } ?>
            makePOSTRequest('blog_request.php?open=comment', poststr, 'blog_inhalt');
    }
       
    function makePOSTRequest(url, parameters, target) {
            if (window.XMLHttpRequest) {
                    req = new XMLHttpRequest();
                    if (req.overrideMimeType) {
                            req.overrideMimeType('text/html');
                    }
            }
            else if (window.ActiveXObject) { // IE
                    try {
                            req = new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch (e) {
                            try {
                                    req = new ActiveXObject("Microsoft.XMLHTTP");
                            }
                            catch (e) {}
                    }
            }
            if (!req) {
                    alert('Konnte die Anfrage nicht verarbeiten!');
                    return false;
            }
           
            req.onreadystatechange = handleResponse;
            req.open('POST', url, true);
            req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            req.setRequestHeader("Content-length", parameters.length);
            req.setRequestHeader("Connection", "close");
            req.send(parameters);
    }

    function fehlermeldung() {
            if (req.readyState == 4) {
                    if (req.status == 200) {
                            result = req.responseText;
                            document.getElementById('error_meldung').innerHTML = result;            
                    }
                    else {
                            alert('Es ist ein Fehler aufgetreten.');
                    }
            }
    }

    function handleResponse() {
            if(req.readyState == 4)
                    document.getElementById(targetid).innerHTML = req.responseText;
            else
                    document.getElementById(targetid).innerHTML = '<img height="30" width="30" src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/img/icons/wait.gif" alt="Laden..." /><br /><br /> Inhalt wird geladen...';
    }
    //-->
    </script>
    <?php if(BLOG_NAV_AJAX == 'ja') { ?>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/accordion.js" type="text/javascript"></script>
    <script type="text/javascript">
            <!--
                    ddaccordion.init({
                            headerclass: "blog_titel", //Shared CSS class name of headers group that are expandable
                            contentclass: "blog_items", //Shared CSS class name of contents group
                            revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click" or "mouseover
                            mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
                            collapseprev: true, //Collapse previous content (so only one open at any time)? true/false
                            defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content
                            onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
                            animatedefault: false, //Should contents open by default be animated into view?
                            persiststate: true, //persist state of opened contents within browser session?
                            toggleclass: ["", "blog_active"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
                            togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
                            animatespeed: "slow", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
                            oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
                            },
                            onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
                                    //do nothing
                            }
                    });
            //-->
           
    </script>
    <script type="text/javascript" src="jquery.js"></script>
      <script type="text/javascript" src="jquery.socialshareprivacy.js"></script>
      <script type="text/javascript">
        jQuery(document).ready(function($){
          if($('#socialshareprivacy').length > 0){
            $('#socialshareprivacy').socialSharePrivacy();
          }
        });
      </script>


    <script src="templates/<?php echo CURRENT_TEMPLATE; ?>/javascript/jquery-1.3.2.min.js" type="text/javascript"></script>
    <script src="templates/<?php echo CURRENT_TEMPLATE; ?>/javascript/accordion.js" type="text/javascript"></script>
    <script type="text/javascript">
            <!--
                    ddaccordion.init({
                            headerclass: "cat_titel", //Shared CSS class name of headers group that are expandable
                            contentclass: "cat_items", //Shared CSS class name of contents group
                            revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click" or "mouseover
                            mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
                            collapseprev: true, //Collapse previous content (so only one open at any time)? true/false
                            defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content
                            onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
                            animatedefault: false, //Should contents open by default be animated into view?
                            persiststate: true, //persist state of opened contents within browser session?
                            toggleclass: ["", "cat_active"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
                            togglehtml: ["", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
                            animatespeed: "slow", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
                            oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
                            },
                            onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
                                    //do nothing
                            }
                    });
            //-->
    </script>

    <?php } ?>
     

    Ich würde mich freuen wenn die Profis Hilfestellung/ Anleitungen geben könnten. Dies würde sicherlich vielen helfen.

    Gruss Stephan

    Linkback: https://www.modified-shop.org/forum/index.php?topic=21204.0

    Alfred

    • Experte
    • Beiträge: 2.115
    Re: Page Speed Optimierung 100/100
    Antwort #1 am: 18. Juli 2012, 19:45:49
    Zitat
    Mein Page Speed ist 93/100

    Hallo,

    du kennst die Bedeutung dieser Zahlen?
    Auch eine Seite mit100/100 kann sehr langsam sein.

    Warum verkleinerst du nicht erstmal die Hintergrundgrafik.
    Alleine die kostet beim ersten Aufruf 1 Sekunde Ladezeit.

    Gruß

    hedon02

    • Viel Schreiber
    • Beiträge: 618
    Re: Page Speed Optimierung 100/100
    Antwort #2 am: 18. Juli 2012, 20:35:17
    hast auch 2 mal "jquery" eingebunden. Ich wuerde da auch nicht sklavisch auf die 100 achten, 92 sieht gut aus  :-D und viel mehr ist es ja letztlich auch nicht.

    Javascript spaeter parsen ist sicherlich noch sinnvoll, da kannst Du mal das im Forum nach "modified eCommerce Shopsoftware on steroids" suchen, da ist es beschrieben.

    Gruesse

    mhh!?

    • Neu im Forum
    • Beiträge: 47
    • Geschlecht:
    Re: Page Speed Optimierung 100/100
    Antwort #3 am: 18. Juli 2012, 22:12:25
    @ Alfred

    Alle Grafiken sind schon so stark wie möglich reduziert leider ist nicht mehr möglich.

    @ hedon02
    Danke für den Hinweis habe das zweite jquery entfernt. Jetzt ist es auch wieder auf 93/100 hatte ausversehen ne alte Datei hochgeladen. Leider gibt es unter dem Bericht "modified eCommerce Shopsoftware on steroids" keine dienlichen Hinweise wie ich das JavaScript später parsen kann.

    Ich konnte lediglich Punk 4 lösen bleibt noch Punkt 1, 2, 3 zu lösen.

    Durch den Wasserfall bei Firebug kann ich gut sehen das die scripte das laden der Grafiken blockiert.
    Da ich momentan im Ausland bin mit langsamen Internet kann man das gut sehen. Die Grafik ist im Anhang.

    Würde mich freuen zu Punkt 1,2,3 noch was zu lesen.

    Gruss Stephan

    hedon02

    • Viel Schreiber
    • Beiträge: 618
    Re: Page Speed Optimierung 100/100
    Antwort #4 am: 19. Juli 2012, 17:18:47
    In der "includes/application_bottom.php" ist die Codezeile schon vorhanden:

    Code: PHP  [Auswählen]
    //require('templates/'.CURRENT_TEMPLATE.'/javascript/general.js.php');

    Ich habe bei mir den Dateinamen in "general_bottom.js.php" umbenannt und die Auskommentierung entfernt.
    Dann die "templates/<dein Template>/javascript/general.js.php" kopieren und entsprechend umbenennen und ausprobieren welche Javascript-Dateien auch einfach im "body" geladen werden koennen.

    Gruesse

    mhh!?

    • Neu im Forum
    • Beiträge: 47
    • Geschlecht:
    Re: Page Speed Optimierung 100/100
    Antwort #5 am: 21. Juli 2012, 19:47:59
    Hallo hedon02,

    danke für den Tipp!  :worship:

    Mit dieser Umsetzung konnte ich Punkt 3 Reihenfolge der Formate und Skripts optimieren abschließen.
    Um den Punkt 1 JavaScript später parsen zu lösen muss ich wohl die JS aufteilen und einige Skripte auf den nur benötigten Seiten laden lassen.

    Jetzt nur noch Asynchrone Ressourcen bevorzugen richten und das war es den auch. Bloß Wie?

    Habe ja geschrieben das ich Punkt 4 Zeichensatz angeben schon gelöst habe. Hatte die Angabe in die .htaccess geschrieben. Hier sehe ich aber ein Problem und würde gerne deine und eure Meinung da zu hören. Ich nutze den Shop mit 8 Sprachen daher ist die Angabe mit einem Zeichensatz falsch da die unterschiedlichen Sprachen auch unterschiedliche Zeichensätze haben. Wie könnte man dies lösen.

    Mfg Stephan

    Thomas K.

    • Mitglied
    • Beiträge: 214
    Re: Page Speed Optimierung 100/100
    Antwort #6 am: 22. Juli 2012, 14:34:30
    Ansonsten kostet jeder AUFRUF, sprich jede VERLINKUNG zu einem externen skript zeit.
    Was ebenfalls super funktioniert sind php-includes, um die du einen <script> block packst. dadurch erfolgt kein weiterer externen aufruf.

    mhh!?

    • Neu im Forum
    • Beiträge: 47
    • Geschlecht:
    Re: Page Speed Optimierung 100/100
    Antwort #7 am: 22. Juli 2012, 14:40:49
    habe eine frage wollte einige JS aufrufe aus der general.js auslagern direkt in die benötigten HTML`s um nicht alle JS Dateien immer laden zu müssen.

    Wenn ich nun die Scripte in die HTML einfüge bekomme ich nur Fehlermeldungen. Wie muss ich das Script
    aussehen.

    Für die Produkt Info Seite Twitter und Google+ Buttons:
    Code: Javascript  [Auswählen]
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
    <script type="text/javascript" src="https://apis.google.com/js/plusone.js">{lang: 'de'}</script>

    Für meinen Blog ist folgender Code:
    Code: Javascript  [Auswählen]
    <script type="text/Javascript">
    <!--
    function createXMLHttpRequest() {

    var ua;

    if(window.XMLHttpRequest) {
        try {
          ua = new XMLHttpRequest();
        } catch(e) {
          ua = false;
        }
      } else if(window.ActiveXObject) {
        try {
          ua = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          ua = false;
        }
      }
      return ua;
    }

    var req = createXMLHttpRequest();

    function sendRequest(get,action,id,target,img) {
            if(target == null)
                    targetid= 'blog_inhalt';
            else
                    targetid= target;

            if(action == 'new') {
                    document.getElementById('comment').className = 'blog';
                    req.open('get', 'blog_request.php?open='+ get + '&action=' + action + '&blog_id=' + id);
            }
            else if(action == 'insert') {
                    req.open('get', 'blog_request.php?open='+get+'&action='+action+'&blog_id='+id+'&img_id='+img);
             }
            else
                    req.open('get', 'blog_request.php?open='+ get);
           
            req.onreadystatechange = handleResponse;
            req.send(null);
    }

    function get(obj) {
            <?php if(BLOG_CAPTCHA == 'ja') { ?>
            var poststr = "name=" + encodeURI( document.getElementById("name").value ) +
                    "&text=" + encodeURI( document.getElementById("text").value ) +
                    "&blog_id=" + encodeURI( document.getElementById("blog_id").value) +
                    "&captcha=" + encodeURI( document.getElementById("captcha").value);
        <?php } else { ?>
       
            var poststr = "name=" + encodeURI( document.getElementById("name").value ) +
                    "&text=" + encodeURI( document.getElementById("text").value ) +
                    "&blog_id=" + encodeURI( document.getElementById("blog_id").value);
        <?php } ?>
            makePOSTRequest('blog_request.php?open=comment', poststr, 'blog_inhalt');
    }
       
    function makePOSTRequest(url, parameters, target) {
            if (window.XMLHttpRequest) {
                    req = new XMLHttpRequest();
                    if (req.overrideMimeType) {
                            req.overrideMimeType('text/html');
                    }
            }
            else if (window.ActiveXObject) { // IE
                    try {
                            req = new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch (e) {
                            try {
                                    req = new ActiveXObject("Microsoft.XMLHTTP");
                            }
                            catch (e) {}
                    }
            }
            if (!req) {
                    alert('Konnte die Anfrage nicht verarbeiten!');
                    return false;
            }
           
            req.onreadystatechange = handleResponse;
            req.open('POST', url, true);
            req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            req.setRequestHeader("Content-length", parameters.length);
            req.setRequestHeader("Connection", "close");
            req.send(parameters);
    }

    function fehlermeldung() {
            if (req.readyState == 4) {
                    if (req.status == 200) {
                            result = req.responseText;
                            document.getElementById('error_meldung').innerHTML = result;            
                    }
                    else {
                            alert('Es ist ein Fehler aufgetreten.');
                    }
            }
    }

    function handleResponse() {
            if(req.readyState == 4)
                    document.getElementById(targetid).innerHTML = req.responseText;
            else
                    document.getElementById(targetid).innerHTML = '<img height="30" width="30" src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/img/icons/wait.gif" alt="Laden..." /><br /><br /> Inhalt wird geladen...';
    }
    //-->
    </script>
    <?php if(BLOG_NAV_AJAX == 'ja') { ?>
    <script src="<?php echo 'templates/'.CURRENT_TEMPLATE; ?>/javascript/accordion.js" type="text/javascript"></script>
    <script type="text/javascript">
            <!--
                    ddaccordion.init({
                            headerclass: "blog_titel", //Shared CSS class name of headers group that are expandable
                            contentclass: "blog_items", //Shared CSS class name of contents group
                            revealtype: "click", //Reveal content when user clicks or onmouseover the header? Valid value: "click" or "mouseover
                            mouseoverdelay: 200, //if revealtype="mouseover", set delay in milliseconds before header expands onMouseover
                            collapseprev: true, //Collapse previous content (so only one open at any time)? true/false
                            defaultexpanded: [], //index of content(s) open by default [index1, index2, etc]. [] denotes no content
                            onemustopen: false, //Specify whether at least one header should be open always (so never all headers closed)
                            animatedefault: false, //Should contents open by default be animated into view?
                            persiststate: true, //persist state of opened contents within browser session?
                            toggleclass: ["", "blog_active"], //Two CSS classes to be applied to the header when it's collapsed and expanded, respectively ["class1", "class2"]
                            togglehtml: ["prefix", "", ""], //Additional HTML added to the header when it's collapsed and expanded, respectively  ["position", "html1", "html2"] (see docs)
                            animatespeed: "slow", //speed of animation: integer in milliseconds (ie: 200), or keywords "fast", "normal", or "slow"
                            oninit:function(headers, expandedindices){ //custom code to run when headers have initalized
                            },
                            onopenclose:function(header, index, state, isuseractivated){ //custom code to run whenever a header is opened or closed
                                    //do nothing
                            }
                    });
            //-->
    </script>

    <?php } ?>

    Gruss Stephan

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Re: Page Speed Optimierung 100/100
    Antwort #8 am: 22. Juli 2012, 14:44:49
    Imho wird Javascript das per PHP included wird, nicht gecached, muss also bei jedem Seitenaufruf neu geladen werden.

    hedon02

    • Viel Schreiber
    • Beiträge: 618
    Re: Page Speed Optimierung 100/100
    Antwort #9 am: 22. Juli 2012, 20:07:55
    Javascript Dateien kannst Du auch in der "general.js.php" auf bestimmte Seiten beschraenken. Einfach mal im Forum suchen, da gibt es schon viele Themen dazu.

    Gruesse

    Simon

    • Viel Schreiber
    • Beiträge: 1.369
    Re: Page Speed Optimierung 100/100
    Antwort #10 am: 22. Juli 2012, 20:44:10
    @mhh!?

    Anbei ein Beispiel zu dem was hedon meinte

    Code: PHP  [Auswählen]
    <?php
    if(strstr($PHP_SELF, FILENAME_PRODUCT_INFO)) {
    ?>
    <script type="text/javascript" src="...
    ...
    </script>
    <?php
    }
     

    mhh!?

    • Neu im Forum
    • Beiträge: 47
    • Geschlecht:
    Re: Page Speed Optimierung 100/100
    Antwort #11 am: 30. Juli 2012, 13:32:24
    Danke für die Unterstützung
    @Simon
    @hedon02
    werde das mit den JS so umsetzen

    Habe ja geschrieben das ich Punkt 4 Zeichensatz angeben schon gelöst habe. Hatte die Angabe in die .htaccess geschrieben. Hier sehe ich aber ein Problem und würde gerne deine und eure Meinung da zu hören. Ich nutze den Shop mit 8 Sprachen daher ist die Angabe mit einem Zeichensatz falsch da die unterschiedlichen Sprachen auch unterschiedliche Zeichensätze haben. Wie könnte man dies lösen.

    Gruß Stephan
    Shop Hosting
    16 Antworten
    22802 Aufrufe
    04. Mai 2015, 10:00:56 von Matt
    2 Antworten
    2235 Aufrufe
    27. August 2015, 11:09:33 von longchuan
    9 Antworten
    6877 Aufrufe
    07. August 2010, 20:27:05 von xMerchant
    16 Antworten
    12114 Aufrufe
    08. März 2011, 18:31:36 von Matt
               
    anything