Path: csiph.com!aioe.org!news.mb-net.net!open-news-network.org!.POSTED.199.226.197.178.dynamic.wless.zhbmb00p-cgnat.res.cust.swisscom.ch!not-for-mail From: Thomas 'PointedEars' Lahn Newsgroups: de.comp.lang.javascript Subject: ECMAScript-Implementierung erkennen (was: PDF-Anzeige aus per Ajax gerufenem PHP-File) Date: Thu, 07 Sep 2017 16:44:05 +0200 Organization: PointedEars Software (PES) Lines: 58 Message-ID: <8187110.FjrXgFqi8B@PointedEars.de> References: <1758641.8WrrWzgLDG@PointedEars.de> Reply-To: Thomas 'PointedEars' Lahn Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit Injection-Info: gwaiyur.mb-net.net; posting-host="199.226.197.178.dynamic.wless.zhbmb00p-cgnat.res.cust.swisscom.ch:178.197.226.199"; logging-data="5172"; mail-complaints-to="abuse@open-news-network.org" User-Agent: KNode/4.14.2 X-Face: %i>XG-yXR'\"2P/C_aO%~;2o~?g0pPKmbOw^=NT`tprDEf++D.m7"}HW6.#=U:?2GGctkL,f89@H46O$ASoW&?s}.k+&. Am 07.09.2017 um 15:04 schrieb Thomas 'PointedEars' Lahn: >> > > Ich habe gerade Testergebnisse von meinem IE 11 (Mozilla/5.0 (Windows NT > 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET > CLR 3.0.30729; .NET CLR 3.5.30729; rv:11.0) like Gecko; JScript > 11.0.16384) und Edge (Mozilla/5.0 (Windows NT 10.0; Win64; x64) > AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 > Safari/537.36 Edge/15.15063; Google V8 JavaScript 5.2) übermittelt. Danke. Stimmt. Ich habe jetzt zwar einen neuen user_agent, aber keine version_id dazu in meiner Datenbank. Das werde ich nachträglich korrigieren: > Bei letzterem wird die ECMAScript Implementierung wohl nicht erkannt – da > scheint MS ganze Arbeit geleistet zu haben. Die Erkennung bei JScript bzw. “Internet Explorer JavaScript” basiert auf den dort verfügbaren globalen Funktionen ScriptEngine(), ScriptEngineMajorVersion(), ScriptEngineMinorVersion() und ScriptEngineBuildVersion(). Offenbar (BrowserStack bietet Edge auch zum Ausprobieren nur gegen Geld an) sind diese in Edge aufgrund eines Wechsels zu Google V8 JavaScript (hier: Version 5.2) nicht mehr verfügbar, so dass ich dort auch UA-Parsing (wie bei Mozilla) verwenden muss. Immerhin: Die JavaScript-Version (sic) steht dort direkt im UA-String, muss also von mir nicht anhand der Revisionsnummer ermittelt und nachgeführt werden. Es wird wohl etwas wie if (typeof ScriptEngine == "function") { // … } else { // … var m; if ((m = ua.match(/\b(Google) (V8 JavaScript) (\d+(.\d+(.\d+)?)?)/))) { _vendor = m[1]; _name = m[2]; _version = m[3]; } } in JSX:engine.js werden. -- PointedEars FAQ: | | Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.