Кордова на резюме, но не на ввод файла - PullRequest
0 голосов
/ 02 апреля 2019

Я использую cordova и функцию onResume.Причина в том, что я хочу перезагрузить приложение, когда оно идет из фона.Это работает нормально!Теперь проблема в том, когда пользователь выбирает файл с полем ввода.Видимо, это, выбирая файл, также перемещает приложение в фоновом режиме.Поэтому, когда файл выбран, приложение перезагружается, а выбранный файл исчезает.

Функция возобновления:

 <script>
  document.addEventListener("deviceready", function() {
      document.addEventListener("resume", onResume, false); 
  }, false);
  function onResume() {
    setTimeout(function() {
      window.location.reload(false); 
    }, 0);
  }
</script>

Можно ли отключить функцию возобновления при выборе файла?

1 Ответ

0 голосов
/ 03 апреля 2019

Вам необходимо создать флаг или логическую переменную, которая определяет, когда используется ввод файла.

<input type="file" id="myFileSelection">

jQuery

$('#myFileSelection').click(function() {
  window.isFileSelected = true;
});

Затем просто измените логику onResume навключите флаг.

document.addEventListener("deviceready", function() {
  document.addEventListener("resume", onResume, false); 
}, false);
function onResume() {
  // if isFileSelected is true stop the code here with 'return false', will not execute the setTimeout
  if (window.isFileSelected) {
    // set this to false to reset the variable
    window.isFileSelected = false;
    return false;
  }
  setTimeout(function() {
    window.location.reload(false); 
  }, 0);
}

Я не проверял этот код, но, как правило, вы можете это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...