apache / incubator-pagespeed-ngx

Automatic PageSpeed optimization module for Nginx
http://ngxpagespeed.com/
Apache License 2.0
4.37k stars 363 forks source link

When the script is in body, pagespeed is not working. #1034

Open GlassWater opened 8 years ago

GlassWater commented 8 years ago

hi!

i have a trouble when the script is in body. if i put including a javascirpt file to body not head, pagespeed don't put eval().

my source is below.

< html lang="en-US"> < head> < meta charset="utf-8"> < meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"> ... ... ... < script src="/resources/v3/js/lib,_rsvp.min.js+require-config.min.js.pagespeed.jc.1nRnj5BxDw.js">< /script>< script>eval(mod_pagespeed_Ato3dBH4zh);< /script> < script>eval(mod_pagespeed_hxTE2$G8fN);< /script> < script type="text/javascript">require.baseUrl='/resources/v3/js/lib/';< /script> < script type="text/javascript" src="/resources/v3/js/lib/require-2.1.14.min.js">< /script> < script type="text/javascript" src="/resources/v3/js/lib/jquery-1.11.1.min.js.pagespeed.jm.YSzgc-BSX9.js">< /script> < script>eval(mod_pagespeed_42smLNOc_Z);< /script> < script>eval(mod_pagespeed_FyxcC6JILA);< /script> < script>eval(mod_pagespeed_pULLBEXYo5);< /script> < script>eval(mod_pagespeed_7uxb_YgkoL);< /script> < script>eval(mod_pagespeed_IbztFw29IS);< /script> < script>eval(mod_pagespeed_B6VyeZ08Ej);< /script> ... ... ... < /head> < body id="uPageHome" class="theme_type1"> ... ... ... < script type="text/javascript" src="/resources/v3/js/common.min.js,Mjc.hzwp-4wjof.js.pagespeed.jm.-bpRNPGeGg.js">< /script> < script type="text/javascript">$(document).ready(function(){fnDisplayContents();}); ... ...

ok, javascript in head get eval(~~~) by pagespeed. but in body(there is common.min.js), there isn't eval()!

The common.min.js converted by pagespeed have var mod_pagespeed_r0p4NsvReV="(my source)"; it's nice working.

but there is not eval. i need < script>eval(mod_pagespeed_r0p4NsvReV);< /script> for using the script. my page have a error-my function is not defined.

is it bug or my fault? is it need some settings?

help me. please show me the solution.

thank you!

plus. my pagespeed filter enable.

pagespeed EnableFilters combine_css; pagespeed EnableFilters rewrite_css; pagespeed EnableFilters rewrite_javascript; pagespeed EnableFilters combine_javascript; pagespeed EnableFilters remove_comments; pagespeed EnableFilters collapse_whitespace;

jeffkaufman commented 8 years ago

Could you share link to your site? PageSpeed should only be inserting var mod_pagespeed_r0p4NsvReV= when combining js, and when it does that it should insert the appropriate evals after.

jeffkaufman commented 8 years ago

common.min.js,Mjc.hzwp-4wjof.js.pagespeed.jm.-bpRNPGeGg.js is a very strange url for PageSpeed to generate: it implies that it "combined" one file (and then minified it).

GlassWater commented 8 years ago

Thank you, your reply. like you said, It would seem that common.min.js is combined. even one file. First, i had to disallow the file(common.min.js) from pagespeed. then this is no longer a problem.

but i want to know the cause of this problem. maybe, this problem will be cleared up, it's nice work.

our web site is http://www.mobirum.com . you can find the file-"/resources/v3/js/common.min.js"