Bug bei Jquery Integration?!

Hallo Kollegen,

da es mich diese Woche etliche Zeit und Nerven gekostet hat, ein Hinweis falls euer Jquery JS mal nicht so will wie es soll:

In core/smarty/plugins/function.oxscript.php hat sich aus meiner Sicht ein Bug eingeschlichen. Beim einfügen der Jquery-Anweisungen wird das obligatorische Ready-Event nicht mit eingefügt.

Habe mir daher die function.oxscript.php ab Zeile 107 entsprechend ergänzt (2te und vorletzte Zeile sind neu):

$sOutput .= '<script type="text/javascript">' . "
";
$sOutput .= '$(document).ready(function(){' . "
";          
foreach ($aScript as $sScriptToken) {
    $sOutput .= $sScriptToken. "
";
}
$sOutput .= '});' . "
";            
$sOutput .= '</script>' . PHP_EOL;

Welche Shop Version hast du? Mein oxscript funktioniert tadellos.

Ist mir bei einem Shop mit v4.6.5 aufgefallen.

Ganz unten im Quellcode des Demoshops kannst du auch sehen, dass da “$(document).ready(function()…” fehlt.

Ich glaube nicht dass das so gedacht ist, manche scripts sollen ja auch sofort laufen. Und wenn man was onload braucht muss man es halt selbst in $(function(){ … }) einwickeln.

@aggrosoft Das verstehe ich jetzt nicht? Es geht doch hier erstmal nur um die ganz reguläre Einbindung der Jquery-Anweisungen. Und da kenne ich es bisher nur so, dass da das “$(document).ready(function()…” drumherum gehört?!

Das schon ja, aber oxscript funktioniert auch mit ganz normalem javascript - und dass muss nicht immer onload passieren. Deshalb ist das wohl auch nicht im Standard so.