/ / Ako zistiť starú Opera cez JavaScript (non-Webkit, non-Next, verzia 14-) - javascript, opera, detekcia prehliadača

Ako zistiť starú Opera cez JavaScript (non-Webkit, non-Next, verzia 14-) - javascript, opera, detekcia prehliadača

Bola operácia Non-Webkit veľmi špecifické v niektorých funkciách, takže to bolo zvyčajne zistené prostredníctvom jazyka JavaScript nasledujúcim spôsobom.

Avšak Opera Next je takmer klonom Google Chrome.

Ako môžem zacieliť na starú Opera a nie na Opera Next?


PS: Naozaj viem, že detekcia prehliadača je naštvaná a pravidlá detekcie funkcií. Dúfam však, že aktualizáciu veľkého a spusteného projektu s malým prehliadačom-detekcia-patch skôr potom prepísať tony kódu do funkcie detekcie paradigma.

odpovede:

2 pre odpoveď č. 1

Našiel som problémový zdroj. V tomto projekte bolo zistené zlé vyhľadávanie prehliadača. Ak zistíte, ako presne Opera funguje odkaz uvedený v otázke, Opera Opera Next nie je detekovaná ako Opera, takže kód špecifický pre operačný systém Old-Opera sa nevykonáva a miesto toho sa spúšťa špecifický kód prehliadača Chrome.

 !!window.opera;                      // true in old Opera, false in Opera Next

navigator.userAgent.indexOf("Opera");//   -------    the same    --------

PS: Našťastie mám veľa testov na svojom projekte, takže môžem povedať, že v novej verzii Opera fungujú presne ako v prehliadači Google Chrome.

Kópia kódu, ktorá spôsobila problémy, sa pokúsila odhaliť Opera Old AND Opera Next:

/(Opera|OPR)/.test(navigator.userAgent)

záver: Migrácia opery bola vykonaná veľmi dobre, vo vašich projektoch by sa nemalo nič zlomiť. Nerozprávajte Opera Next a jednoducho ho zaobchádzate ako obvyklý prehliadač Google Chrome.

UPDATE: predchádzajúce verzie Opera prešli z caniuse.com