On and off, I've tried to defer my javascript. And the only thing that stops me? WPDiscuz. Every. Single. Time. I've excluded every WPDiscuz JS file. ( https://wpdiscuz.com/community/troubleshooting/best-settings-with-wprocket-and-wpdiscuz/#post-7102)
It has got to be pulling from other JS. Please, for the love of God and before I frisbee my laptop out of my 18th floor office, let me (us) know what other JS is being used. I beg of you.
It's usually the comment boxes that get taken out. Other settings can also mess with the photo/file upload add on, but I've got that one sorted.
Hi,
We may suggest you enable the "Combine JS and CSS Files to Optimize Page Loading Speed" option and just exclude the following file:
wpdiscuz/assets/js/wpdiscuz-combo.min.js
The "Minify JS and CSS Files to Optimize Page Loading Speed" option also can be enabled.
Both options are located in the Dashboard > wpDiscuz > Settings > General Settings tab.
If it doesn't help you to solve the issue, please clarify a bit the problem you've faced.
In case you want to say thank you! 🙂
We'd really appreciate if you leave a good review on the plugin page.
This is the best way to say thank you to this project and the support team.
@asti why is one plugin completely stopping me from deferring the rest of my javascript? This is an unacceptable answer. Our (your customer base) sites do not revolve around your plugin. Get with the program and figure this out so that we can better speed up our sites like Google (and users) want. I shouldn't have to not defer javascript because of one damn plugin. It's obviously using other JS than the included files. I've even tried excluding jquery.min.js and jquery-migrate.min.js.
This should be possible. The right thing to do is for you to ask your developers what additional JS they are using rather than saying, "nah, you folks can't defer any of your JS. Ever."
Bottomline: I'm good with WPDiscuz NOT being deferred. I'm not good with not being able to defer any of my other javascript that plays happily being deferred with other functions. But there is obviously a dependency there that WPDiscuz is using that isn't one of WPDisuz's core JS files. And that's what I need to know. Is there some core Wordpress JS file that WPDiscuz is leveraging? That/those are the additional one(s) I need to exclude and I/we need to know what those are.
This is one of the culprits:
wp-content/plugins/wpdiscuz/assets/third-party/quill/quill.js
Found it by going through all of the JS shown in Chrome Dev Tools.
I had built my initial list from what perfmatters was showing and it didn't show this one.
This was the last holdup:
/wp-content/plugins/wpdiscuz/assets/third-party/autogrow/jquery.autogrowtextarea.min.js
If anyone else is searching for this, right now my complete "Exclude from Deferral" list is:
/wp-content/plugins/wpdiscuz/utils/ajax/wpdiscuz-ajax.php
/wp-content/plugins/wpdiscuz-advanced-likers/assets/js/wv.min.js
/wp-content/plugins/wpdiscuz-comment-author-info/assets/js/wcai-frontend.min.js
/wp-content/plugins/wpdiscuz-emoticons/assets/js/wpdiscuz-smile.js
/wp-content/plugins/wpdiscuz-emoticons/assets/third-party/quill-emoji/quill-emoji.min.js
/wp-content/plugins/wpdiscuz-frontend-moderation/assets/js/script.min.js
/wp-content/plugins/wpdiscuz-media-uploader/assets/js/wmu-frontend.min.js
/wp-content/plugins/wpdiscuz-report-flagging/assets/js/flag.min.js
/wp-content/plugins/wpdiscuz-user-comment-mentioning/js/third-party/quill-mention/quill.mention.min.js
/wp-content/plugins/wpdiscuz-user-comment-mentioning/js/wpdiscuz-ucm.js
/wp-content/plugins/wpdiscuz/assets/js/wpdiscuz-combo.min.js
/wp-content/plugins/wpdiscuz/assets/(.*).js
/wp-includes/js/comment-reply.min.js
/wp-content/plugins/wpdiscuz/assets/third-party/quill/quill.js
/wp-content/plugins/wpdiscuz/assets/third-party/autogrow/jquery.autogrowtextarea.min.js
Please note that I'm not running all of the modules. The emoticon/sticker one is not installed, maybe one or two more.
Also, I might play with removing some of the others, but it's working right now with this exclusion list. Tested in Chrome desktop, Safari mobile, and Chrome (iPhone) mobile.

