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ď č. 1Naš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