2016-09-08 8 views
1

Похоже, что «Экстремальный режим» в Opera Mini отличается от устройства к устройству, даже с тем же размером фона Opera Mini (например) работает на iPhone с Extreme Mode , или в приложении для эмулятора Opera Mini Java, но не на Android 5 с Extreme Mode.Обнаружение версий Opera Mini Extreme Mode с Javascript

Я просмотрел официальную документацию (https://dev.opera.com/articles/opera-mini-and-javascript/), но не предоставляет информацию об этом.

Я хотел бы иметь возможность различать эти явно разные режимы.

Прямо сейчас я использую этот скрипт для определения режимов Opera Mini, но isOperaExtreme подходит как для iPhone, так и для Android. Я хочу использовать откат текста, если размер фона не работает.

// start opera detect 
 
// Check if current browser is Opera 
 
var isOpera = window.opera | window.opr | (navigator.userAgent.indexOf(' OPR/') > -1) | (navigator.userAgent.indexOf(' Coast/') > -1) | (navigator.userAgent.indexOf(' OPiOS/') > -1); 
 

 
// Check if the Opera browser is Opera Mini or Opera Mobile in regular mode (called High Savings Mode) 
 
var isOperaHigh = (navigator.userAgent.indexOf('OPR/') > -1) && (navigator.userAgent.indexOf('Mobile') > -1) && (navigator.userAgent.indexOf('Presto/') < 0); 
 

 
// Check if the Opera browser is Opera Mini in Extreme Savings Mode 
 
    var isOperaExtreme = (navigator.userAgent.indexOf('Opera Mini/') > -1) && (navigator.userAgent.indexOf('Presto/') > -1); 
 
// end opera detect 
 

 
$('#opera-detection-1').html('isOpera: ' + isOpera); 
 
$('#opera-detection-2').html('isOperaHigh: ' + isOperaHigh); 
 
$('#opera-detection-3').html('isOperaExtreme: ' + isOperaExtreme);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="opera-detection-1"> 
 

 
</div> 
 
<div id="opera-detection-2"> 
 

 
</div> 
 
<div id="opera-detection-3"> 
 

 
</div>

+0

Вы нашли решение? –

+0

Я обошел его, я вообще не обнаружил браузер, в моем конкретном случае все, что мне было нужно, это создать совместимость для изображений на моем веб-сайте, я использую SVG, но мне также нужно было отменить PNG для старых браузеров Android. Opera mini также не поддерживает размер фона для SVG, поэтому, хотя я мог бы использовать обнаружение для всего этого. Я не использовал SVG в качестве фона и просто использовал «onerror» для переключения на PNG: '' –

+0

, что может быть хорошим способом обмена изображениями. Я попробую. большое спасибо. –

ответ

0

Используйте window.operamini поле. Это legal.

window.operamini доступен только в экстремальном режиме (полное сжатие), поскольку без полного сжатия Opera Mini использует браузер по умолчанию. Режим высокой экономии влияет только на контент, такой как изображения, видео и т. Д.

+0

wow, я проверю это –