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
<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