Konflikt mit Quantcast RGPD-Lösung "choice" und ember.js

Hallo zusammen,
ich habe einige neue Informationen für euch und habe eine Lösung für dieses Problem gefunden.

Heute habe ich mich erneut mit diesem Bug beschäftigt und glaube, weitere Erkenntnisse gewonnen zu haben.

Beim Betrachten der Datei cmp2ui-fr.js von Quantcast konnte ich herausfinden, wo der Bug auftritt. Er befindet sich in dieser Funktion (wir haben nur eine minifizierte Version):

function(t){for(var n in t){t[n].status=e;}}

Wie ihr seht, verwendet diese Funktion eine for..in-Schleife, wobei die Variable t ein Array ist. Wir haben dies bereits zuvor erklärt: Ember.js erweitert das native JavaScript-Array. Es stellt sich heraus, dass eine der Änderungen das Hinzufügen eines _super-Eintrags ist.

Der _super-Eintrag verweist auf eine ROOT()-Funktion, die scheinbar auf _utils.ROOT in Ember.js verweist (vielleicht kommt euch das bei manchen von euch bekannt vor, aber nicht bei mir ^^). Diese ROOT()-Funktion ist nicht erweiterbar.

Offenbar wird diese _super-Eigenschaft als „enumerable