使用 Javascript 检测 Opera Mini Extreme Mode 的版本

Detecting versions of Opera Mini Extreme Mode with Javascript

Opera Mini 中的 "Extreme Mode" 似乎因设备而异,即使使用相同的 Opera Mini 版本背景大小(例如)也适用于具有极端模式的 iPhone,或者在 Opera Mini Java 模拟器应用程序上,但在 Android 5 的极端模式下没有。

我查看了官方文档 (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>

使用window.operamini字段。这是 legal.

window.operamini 仅在极端模式(完全压缩)下可用,因为没有完全压缩 Opera Mini 使用默认浏览器引擎。高储蓄模式只影响图片、视频等内容