Tach!
Eigentlich gehts hier um den Sinn einer Versionskontrolle -- die in JavaScript wohl für immer im Verborgenen bleiben soll, aus welchen Gründen auch immer.
Versionskontrolle ist ein Begriff mit anderer Bedeutung, als du sie hier verwendest. Versionsprüfung möchtest du haben, und die bekommst du praktisch nicht, so wie du sie haben möchtest, weil die Javascript-Welt in den Browsern anders tickt als die Welt herkömmlicher Programmierumgebungen.
Wir sollten den Usern ein bischen mehr Intelligenz zutrauen. Ganz bestimmt will er nicht eine Anwendung die nur ein bischen geht und in manchen Features nicht sondern eine Anwendung die 100%ig funktioniert. Zumindest ist solch ein Verhalten beim Kauf einer Software vorherrschend. Und siehe da, auf der Packung stehen die Requirements, also dass was außer einem PC sonst noch so erforderlich ist zur Gewährleistung.
Dann musst du exakt festlegen, in welchem Browser und welcher Version deine Anwendung läuft. Es gibt zwar Versionsstände von Javascript, aber die sind nur theoretisch von Interesse. Praktisch obliegt es dem Hersteller des Browsers, welche konkreten Features er nun implementiert hat oder nicht. Deshalb liefert eine Versionsnummer keine weiteren Erkenntnisse. Stattdessen hat man Feature-Detection und Polyfills (Nachbau für (noch) nicht vorhandene Features) erfunden. Das ist das übliche Vorgehen, um eine Interoperabilität der Anwendung sicherzustellen.
So denke ich, dass einer der die Software haben+anwenden will, auch imstande dazu ist, die Voraussetzungen dafür zu schaffen. All solche Dinge stehen und fallen mit einer Versionskontrolle.
Nein, du lieferst die Polyfills mit für die Features, von denen du annimmst oder weißt, dass sie in der Ablaufumgebung nicht zur Verfügung stehen. Polyfills findet man zusammen mit der Information, welche Browsers Unterstützung für eine bestimmte Funktion anbieten, zum Beispiel im MDN (Mozilla Developer Network). Ich suche dazu üblicherweise nach "mdn funktionsname".
dedlfix.