HTTP 403 bei JavaScripts über npmcdn.com

Gestern Abend ist mir aufgefallen, dass eins meiner WordPress-Plugins nicht mehr funktionierte. Dieses Plugin verwendet die ImagesLoaded Library und wird über CDN „npmcdn.com“ eingebunden. Irgendwann in der letzten Zeit schienen die Abrufe allerdings mit HTTP 403 (Forbidden) quittiert zu werden und waren nicht mehr möglich.

Die URL für den Abruf, die über WordPress genutzt wird, lautet:

https://npmcdn.com/imagesloaded@4.1/imagesloaded.pkgd.min.js?ver=4.5.2

Interessant ist, dass die URL funktioniert, wenn man den Query-String „?ver=4.5.2“ weglässt. Diese Zeichenkette wird von WordPress angehängt. Das PHP-Kommando für die Einbindung lautet:

wp_enqueue_script('imagesloaded', 'https://npmcdn.com/imagesloaded@4.1/imagesloaded.pkgd.min.js', array('jquery'), false, true);

Laut der offiziellen WordPress-Doku wird die „ver=“-Option automatisch angehängt, wenn der 4. Parameter entweder explizit gesetzt wurde oder oder den Boolean-Wert „false“ ergibt. Gibt man hier jedoch explizit „null“ an, verzichtet WordPress auf das Versionsanhängsel.

Die korrigierte Variante lautet also:

wp_enqueue_script('imagesloaded', 'https://npmcdn.com/imagesloaded@4.1/imagesloaded.pkgd.min.js', array('jquery'), null, true);

Damit ist der Abruf des JavaScripts wieder problemlos möglich. Scheint, als hätte npmcnd.com hier an den erlaubten URL’s gedreht: https://github.com/mjackson/npm-http-server/issues/31.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.