WordPress plugin intelligence profile

Pipfrosch jQuery

Use jQuery 3.5.1 and jQuery Migrate 3.3.0 with your WordPress powered website with a third party CDN if so desired.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 5.4
Current version1.2.1
WordPress coverageTested up to WordPress 5.4
Minimum stackWP 4.1.0 · PHP 7.0
Directory statusactive
Last directory update16 Jun 20206y ago
Active installations10Adoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Pipfrosch jQuery version 1.2.1 as active, updated 6y ago and tested up to WordPress 5.4.

Overview

About this plugin

1) an older version of jQuery. As in ancient. This plugin allows you to instead use a much more modern version of jQuery, with optional compatibility for scripts that need the older jQuery calls.

This plugin also optionally allows you to securely select a public CDN for jQuery, including the appropriate Subresource Integrity (SRI) and CrossOrigin attributes. Using a CDN can speed up the loading of your website as there is a good chance a client visiting your website already has the identical file in their browser cache and does not need to fetch it again.

When a CDN is used, a small amount of code is added to your pages to provide a fallback where jQuery and the jQuery Migrate plugin are served from your site if either the CDN can not be reached by the client or if the SRI check fails.

The updated jQuery will not replace the core jQuery for administration pages. This is to avoid potential breakage of administrative pages.

The options for this plugin are managed from the WordPress ‘Dashboard’ in the ‘Settings’ area, using the ‘jQuery Options’ menu option within the ‘Settings’ area.

Plugin Options

There are four configurable options you can customize.

‘Use Migrate Plugin’ option

Enabled by default.

You may disable compatibility with scripts that require older versions of jQuery. This is not recommended.

0. 4.

1. When ‘Use Migrate Plugin’ is enabled, scripts that are registered with a dependency of jquery-core will trigger enqueuing of the Migrate plugin so that those scripts written for the older jQuery will still work. When ‘Use Migrate Plugin’ is disabled, then enqueuing of the Migrate plugin will only happen if scripts explicitly specify jquery-migrate or jquery as a dependency.

9. The only option in that case is to not use this plugin until you have upgraded that very old code.

It is highly recommended you update such old code as soon as possible, whether or not you plan to use this plugin.

Note

Please note that WordPress has provided jQuery for years, this results in many plugins and themes using jQuery out of convenience when they really did not need to.

Rumor is that a future release of WordPress may only use native JavaScript for everything JavaScript in WP Core. If hiring a JavaScript developer to update old jQuery code, make sure the JavaScript developer is wise enough to know when porting the code to native JavaScript makes more sense than continuing to use jQuery and when using jQuery really is the best approach.

In other words, do not hire someone like me, I pretty much only use jQuery but that is admittedly not always the best approach, just the convenient approach.

‘Use Content Distribution Network’ option

Disabled by default.

By default, the updated jQuery scripts are served from within this WordPress plugin. This is because responsible plugin and theme developers do not (in my opinion) utilize third party resources by default.

I recommend you enable this option however doing so will result in front-end pages being served that reference a Third Party Resource. Links to those services and their privacy policies follows the section on Plugin Options.

‘Use Subresource Integrity’ option

Enabled by default.

This option only has meaning when the ‘Use Content Distribution Network’ option is enabled.

This option will add a Subresource Integrity hash that browsers can use to verify the resource retrieved is valid opposed to a modified possible trojan.

The only logical reason I can think of to disable this option is if you already have a different plugin that manages Subresource Integrity.

‘Select Public CDN Service’ option

com CDN’ by default.

This option only has meaning when the ‘Use Content Distribution Network’ option is enabled.

com/download/#using-jquery-with-a-cdn

com CDN’ is probably the best choice but it may not be the best choice for all websites, depending upon where the majority of your users are located geographically and which public CDN has a better response time in that geographical region.

External Third Party Services

When you enable the CDN option (recommended but disabled by default) a third party service will be used. You should make sure your website Privacy Policy makes users are aware of this. 1), the default Privacy Policy does make users aware that third party resources may be used, but you have to actually publish that policy and you should check it yourself in case it has been modified or in case the policy you have predates the current default policy and does not include a Third Party Resource notice.

This plugin always sets the crossorigin="anonymous" attribute in association with the Third Party Service. This attribute instructs the browser not to send cookies or any other authentication information to the third party when retrieving the resource. Most modern browsers respect this attribute but some may not.

By default, the plugin will set the integrity="[[expected base64 encoded hash]]" attribute in association with the Third Party Service. This instruct the browser not to use the downloaded resource if the hash does not match, protecting your users from possible trojans.

com/download/ with one exception (see the Hard-coded SRI Hashes section of this readme).

These are the potential third party services:

jQuery.com CDN

The default CDN used by this plugin when a CDN is enabled.

com/

com CDN is actually powered by StackPath.

com/

com/legal/privacy-statement/

CloudFlare CDNJS

When you have a CDN enabled and have selected the CloudFlare CDNJS option then

the CloudFlare CDNJS service will be used.

com/libraries/jquery/

For jQuery, CDNJS is powered by CloudFlare.

com/

com/website-terms/

com/privacypolicy/

jsDelivr CDN

When you have a CDN enabled and have selected the jsDelivr option then the

jsDelivr CDN will be used.

com/

com/privacy-policy-jsdelivr-net

Microsoft CDN

When you have a CDN enabled and have selected the Microsoft CDN option then the Microsoft CDN will be used.

com/en-us/aspnet/ajax/cdn/overview

com/en-us/legal/termsofuse

com/en-us/privacystatement

Google CDN

When you have a CDN enabled and have selected the Google CDN option then the Google CDN will be used.

com/speed/libraries

com/terms/site-terms

com/privacy

The Google CDN does not host the jQuery Migrate plugin. com CDN will be used for the jQuery Migrate plugin. txt file.

Hard-coded SRI Hashes

This plugin includes hard-coded Subresource Identity public hashes for the minified versions of the jQuery core library and the jQuery Migrate Plugin.

md in this directory.

com/ website.

php.

php.

CloudFlare CDNJS and jdDeliver CDN

The minified jQuery Migrate plugin hosted at CloudFlare CDNJS and jsDelivr CDN have the following addition at the end of the JS file that cause their hash to be different:

map

For this reason, an SRI specific to them is used when CloudFlare CDNJS or jsDelivr CDN is the selected Public CDN.

com/libraries/jquery-migrate

php.

Public CDN Notes

As of May 28th, 2020 the following notes apply.

The Microsoft CDN does not yet have current versions of either the core jQuery library or the Migrate plugin. If you select that CDN, the files will be served from your host until the Microsoft CDN has them.

The Google CDN does not host any version of the jQuery Migrate plugin. com CDN.

Plugin / Theme Compatibility

This plugin does not set the version for jQuery when registering the script. ver=whatever to the end of the resource and doing so with a CDN greatly reduces the odds that a browser will recognize it already has the scripts cached. Some plugins and themes may query for the version of jQuery being used.

They should not do so, but some do. They will not get an answer if this plugin has run before they run and they will get the wrong answer if they run before this script has run.

jQuery scripts that depend upon certain versions should query for the capability within the JavaScript rather than depending upon a version specified to WordPress which may not always reflect what is actually served.

Update Policy

I will try to update this plugin when new versions of jQuery are released but it may not be as fast as some may like. You can bug me by leaving sending an e-mail to pipfroshpress[AT]gmail[DOT]com.

Please note updates to this plugin with new versions of jQuery will not be pushed until that majority of the supported CDNs have the file. 4.

For the included jQuery Migrate plugin, I am less likely to notice when new versions are available but I do check whenever a new version of jQuery itself is released. Again you can bug me if needed.

com/pipfrosch/pipfrosch-jquery

md file. The branch pipjq is where I develop and what is in that branch may not always be stable. When a new release is ready and tested from the pipjq branch, it will be merged with master and then repacked for distribution through the WordPress SVN.

Please use the distribution from WordPress rather than from github unless you are testing. The version from WordPress is audited by more eyes than my github.

Versioning Scheme

Tweak scheme using integers for each. Code in my github may have a pre appended at the end to indicate is not a released version and should not be used on production systems.

Tweak bump

The Tweak is incremented by one when a minor change is made, such as adding a new language to the translation support. Generally you can ignore upgrading this plugin when there is just a Tweak bump.

Minor bump

The Minor is incremented by one when a functional bug is fixed or when an update to jQuery or the jQuery Migrate plugin is made that is not a substantial jQuery change. When Minor is bumped, Tweak will reset to 0. Generally you should upgrade when Minor is bumped.

Major bump

The Major will be incremented when there is an upgrade to jQuery that is significant in nature. Both Minor and Tweak are reset to 0 when Major

is bumped.

Generally you should test an update to Major before updating on a production system just in case some of your jQuery code needs tweaks before deployment.

Translations

This plugin is ready for translations but so far does not actually have any. Note that the only strings where translations are beneficial require administrative privileges to see (the Settings). Hopefully translations will soon be made for the benefit of WordPress administrators who have a preferred written language other than English.

Developers

If you have a plugin or theme that wants to know about versions, the following options are defined if this plugin is active:

  • pipjq_plugin_version defines the plugin version.
  • pipjq_jquery_version defines the jQuery version.
  • pipjq_jquery_migrate_version defines the jQuery Migrate plugin version

All three those of those options are defined as strings.

You can also get them directly from the defined constants PIPJQ_PLUGIN_VERSION, PIPJQV, and PIPJQMIGRATE respectively but I do not guarantee that I will continue to specify them with those constant into the long-term future. For example, if I switch to a more OOP approach they may be defined within a class rather than as constants. The options however will always be defined.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • jquery
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 5.4

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 5.4.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to5.4
Minimum requirementsWordPress 4.1.0 · PHP 7.0
Update activity16 Jun 20206y ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.