Браузер MsgBox не показывает никаких сообщений на мобильном телефоне - PullRequest
0 голосов
/ 03 апреля 2020

Я пытался создать приложение с использованием скрипта Apps в Google Sheets, которое может работать как на мобильных устройствах (приложение Google Sheets), так и на настольной версии Google Sheets. Код отлично работает на десктопе, но я заметил, что при тестировании на мобильных устройствах окна сообщений не появляются. Вот код, который я использую в настоящее время:

function onEdit(e) {
  var activecell = ss.getActiveCell();
  if (activecell.getA1Notation() == "D27") {
    activecell.uncheck();
    var buttoncell = ss.getRange("B27");
    if (buttoncell.getValue() == "Start the game!") {
      var allnamesentered = ss.getRangeByName("allnamesentered").getValue();
      var allnamesunique = ss.getRangeByName("allnamesunique").getValue();
      var toomanynames = ss.getRangeByName("toomanynames").getValue();

      if (allnamesentered && allnamesunique && !toomanynames) {
        buttoncell.setValue("Reset the game");
        ss.getRange("B27:D27")
        .setBackground("white")
        .setFontColor("black");
        startgame();
      }
      else {
        if (!allnamesunique) {
          Browser.msgBox("Some of your names are the same, which might confuse people. Edit the names and try again.");
        }
        if (!allnamesentered && !toomanynames) {
          Browser.msgBox("You haven't entered all the names. Go do that and try again.");
        }
        if (toomanynames) {
          Browser.msgBox("You've entered more names than players. Maybe delete a few and try again.")
        }
      }
    }
    else if (buttoncell.getValue() == "Reset the game") {
      var resetgame = Browser.msgBox("Confirm game reset", "Resetting the game will delete all players, scores and cards. Are you sure you want to do this?", Browser.Buttons.YES_NO)

      if (resetgame == "yes") {
        Logger.log("Game reset.");
        buttoncell.setValue("Start the game!");
        ss.getRange("B27:D27")
        .setBackground("black")
        .setFontColor("white");

        ss.getRangeByName("playernames").clearContent();
        ss.getRangeByName("numplayers").clearContent();
      } else {
        Logger.log("Game was not reset.");
      }
    }
  }
}

На данный момент я создал обходной путь, используя формулу для отображения сообщения в ячейке, который будет работать, если больше ничего не работает. Мне было интересно, есть ли способ заставить сообщение появляться в мобильном приложении Google Sheets с помощью скрипта Google Apps.

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