append javascript after CSS
Javascript resources should be presented to browsers after CSS, and "after the fold" (ATF) according to the best practices: https://developers.google.com/speed/docs/insights/mobile#PutStylesBeforeScripts This change allows the browser to download Javascript files in parallel, by including Javascript on the *closing* </body> tag instead of the opening tag. We also improve the regex to tolerate spaces before the body tag, as some templates have (proper) indentation for the tag.master
parent
aa063aeb33
commit
d16e34c736
|
@ -60,9 +60,9 @@ sub pagetemplate (@) {
|
|||
sub format (@) {
|
||||
my %params=@_;
|
||||
|
||||
if (! ($params{content}=~s!^(<body[^>]*>)!$1.include_javascript($params{page})!em)) {
|
||||
if (! ($params{content}=~s!^(\s*</body[^>]*>)!include_javascript($params{page}).$1!em)) {
|
||||
# no <body> tag, probably in preview mode
|
||||
$params{content}=include_javascript(undef).$params{content};
|
||||
$params{content}=$params{content}.include_javascript(undef);
|
||||
}
|
||||
return $params{content};
|
||||
}
|
||||
|
|
|
@ -26,9 +26,9 @@ sub getsetup () {
|
|||
sub format (@) {
|
||||
my %params=@_;
|
||||
|
||||
if (! ($params{content}=~s!^(<body[^>]*>)!$1.include_javascript($params{page})!em)) {
|
||||
if (! ($params{content}=~s!^(\s*</body[^>]*>)!include_javascript($params{page}).$1!em)) {
|
||||
# no <body> tag, probably in preview mode
|
||||
$params{content}=include_javascript(undef).$params{content};
|
||||
$params{content}=$params{content}.include_javascript(undef);
|
||||
}
|
||||
return $params{content};
|
||||
}
|
||||
|
|
|
@ -68,9 +68,9 @@ sub format (@) {
|
|||
|
||||
if ($params{content}=~s!(<div class="toggleable(?:-open)?" id="[^"]+">\s*)</div>!$1!g) {
|
||||
$params{content}=~s/<div class="toggleableend">//g;
|
||||
if (! ($params{content}=~s!^(<body[^>]*>)!$1.include_javascript($params{page})!em)) {
|
||||
if (! ($params{content}=~s!^(\s*</body[^>]*>)!include_javascript($params{page}).$1!em)) {
|
||||
# no <body> tag, probably in preview mode
|
||||
$params{content}=include_javascript(undef).$params{content};
|
||||
$params{content}=$params{content}.include_javascript(undef);
|
||||
}
|
||||
}
|
||||
return $params{content};
|
||||
|
|
Loading…
Reference in New Issue