Из-за проблем с безопасностью записи файлов мы попытались переключить наше приложение с использования ms-appx-web: на использование ms-appdata :. Но это сразу же терпит неудачу, потому что мы полагаемся на window.external.notify (), который отлично работает с ms-appx-web: но, похоже, ведет себя как безоперационный с ms-appdata :. В качестве теста мы загрузили следующий HTML-код в объект WebView:
<html>
<head>
<script>
function demofunc( str ) {
document.getElementById("demo").innerHTML += str;
window.external.notify( str );
}
</script>
</head>
<body onLoad="demofunc('demofunc()');">
demo <body>
<div id="demo"></div>
</body>
</html>
который дает такой результат, как и должно:
demo <body>
demofunc()
НО, НЕ создает всплывающих сообщений любого типа. Почему? Очевидно, что метод demofunc () вызывается для добавления второй строки вывода в демонстрационный блок div, но window.external.notify () не создает всплывающее сообщение. Существуют ли особые правила относительно notify () вместе с ms-appdata:
Обновление - вопрос Не удается запустить предупреждения javascript в универсальном приложении веб-просмотр на платежном шлюзе аналогичен и работает для ms-appx-web: но не для ms-appdata :. Этот вопрос улавливает ScriptNotify (), который затем использует Windows.UI.Popups.MessageDialog для вызова диалогового окна. С ms-appx-web: вызывается ScriptNotify (), но с ms-appdata: ScriptNotify () не вызывается. Это наша проблема, всплывающее окно не появляется.