обнаружить эмуляцию в Intel XDK

Есть ли способ использовать библиотеку Intel XDK, чтобы определить, работает ли мое приложение в эмуляторе IDE или на реальном мобильном устройстве? Я хотел бы добавить код для ведения журнала и отладки, который зависит от этой информации.

Спасибо.


person Peter    schedule 18.07.2014    source источник


Ответы (2)


Вы можете определить, тестируете ли вы / эмулируете свое приложение в XDK, с помощью Intel XDK Javascript API. Существует свойство с именем isxdk, которое является логическим значением, указывающим, работаете ли вы в данный момент в Intel XDK.

Например,

<!DOCTYPE html><!--HTML5 doctype-->
<html>
<head>
    <title>Your New Application</title>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
    <style type="text/css">
        /* Prevent copy paste for all elements except text fields */
        *  { -webkit-user-select:none; -webkit-tap-highlight-color:rgba(255, 255, 255, 0); }
        input, textarea  { -webkit-user-select:text; }
        body { background-color:white; color:black }
    </style>
    <script src='intelxdk.js'></script>
    <script type="text/javascript">
        /* Intel native bridge is available */
        var onDeviceReady=function(){
        //hide splash screen
        intel.xdk.device.hideSplashScreen();
        };
        document.addEventListener("intel.xdk.device.ready",onDeviceReady,false);
    </script>
    <script>
        if (intel.xdk.isxdk==true){
            // Application is running in XDK
            alert("Running in Intel XDK Emulator");    
        }
    </script>
</head>
<body>
    <h1>Welcome to Intel XDK</h1>
    <p>Hello World</p>
</body>
</html>

Для получения дополнительной информации о свойстве isxdk посетите https://software.intel.com/en-us/node/493507.

person eashtianjr    schedule 21.07.2014
comment
Это больше не доступно в более новых версиях XDK (3491). Любые идеи? - person Jay Dinse; 09.08.2016
comment
Нашел решение: используйте плагин устройства и в своем коде javascript device.isVirtual - person Jay Dinse; 09.08.2016

Большинство методов обнаружения для этого доставляют больше хлопот, чем необходимо. Вы пробовали войти в консоль javascript? Строка, например: console.log («X is» + x); для записи переменной или console.log (e); где e - событие, может предоставить важную информацию при отладке (при открытии экрана отладки в эмуляторе или при открытии консоли javascript при запуске в браузере), но остается невидимым на мобильном устройстве.

person Brad Hill    schedule 18.07.2014
comment
Еще одна причина, по которой я хочу определить, является ли это эмуляцией, заключается в том, что в эмуляторе я хочу, чтобы он подключался к серверу на localhost. - person Peter; 18.07.2014