Schlagwort-Archive: javascript

HeadSpace2 SEO blockiert WordPress-Backend nach Update auf 4.5

Nachdem ich vor einigen Tagen mein WordPress-System zu erst auf die Version 4.5 und kurz danach auf 4.5.1 aktualisiert habe, konnte ich weder Artikel noch Seiten anlegen bzw. bearbeiten. Es schien so, als wären alle Javascript-Funktionen deaktiviert: es konnten keine Links angelegt werden, Schlagwörter waren nicht auswählbar und einzelne Optionen konnten nicht aktiviert / deaktiviert werden…

Ein Blick in die Konsole der Entwickler-Tools des Chrome zeigte einen Javascript-Fehler, der auf ein Problem bei der Anwendung eines CSS-Selectors schließen ließ. Die Suche in den Dateien der in meinem System verwendeten Plugins führte mich zum HeadSpace2 SEO und dort in die

wp-content/plugins/headspace2/js/headspace.js

Dort musste ich den Quellcode

$( 'a[href=#toggle]' ).click( function(){

in den Zeilen 26 und 61 wie folgt anpassen:

$( 'a[href*="#toggle"]' ).click( function(){

Damit war das Problem gelöst und alles funktioniert wieder einwandfrei!

Heute hat Bernhard in seinem Block einen Artikel veröffentlicht, der das Problem im Allgemeinen behandelt. Denn der Fehler kann bei unterschiedlichen Plugins und Themes auftreten, da es sich im Kern um ein Kompatibilitätsproblem mit der neuesten Version von jQuery handelt…

WebSockets standardisiert

Vor einigen Tagen hat mich ein guter Freund auf einen Artikel bei Golem hingewiesen, der über die Standardisierung von WebSockets berichtet. Die RFC 6455 des IETF legt fest, wie Browser und Webserver bidirektional mit einander kommunizieren können. Das heißt, dass nun auch der Webserver aktiv Daten an den Client schicken kann, ohne das dieser direkt vorher beim Server angefragt hat – eine Art „Push-Service“ also.

Ich hatte Ende 2004 / Anfang 2005 in meiner Masterarbeit am HPI bereits zu diesem Thema entwickelt. Allerdings setzte meine Lösung damals noch auf HTTP und andere Protokolle als Träger auf. Die heutigen WebSockets sind einige Schichten tiefer angesetzt und werden direkt über TCP abgewickelt. Das vermeidet einigen Overhead und sorgt so für eine gute Performance. Ich freue mich sehr über diese Entwicklung, da wir dadurch viel Rechnerleistung auf den Clients sparen können…