Метод или операция не реализовано исключение в Script Notify для веб-просмотра в приложениях времени выполнения Windows C#
Этот код ниже работает в Windows 8, когда он подходит к универсальным приложениям Windows 8.1, он показывает метод ошибки, не реализованный при назначении URL для wv1.AllowedScriptNotifyUris..
Код XAML:
<WebView Name="wv1" ScriptNotify="wv1_ScriptNotify_1" LoadCompleted="wv1_LoadCompleted_1"/>
Код Cs:
private async void BrowserPage_Loaded(object sender, RoutedEventArgs e)
{
wv1.Navigate(new Uri("http://www.google.com/search?q=" + "Devi", UriKind.RelativeOrAbsolute));
}
private void wv1_LoadCompleted_1(object sender, NavigationEventArgs e)
{
var absolutepath = e.Uri.Host.ToString() + e.Uri.AbsolutePath.ToString().Substring(0, e.Uri.AbsolutePath.ToString().LastIndexOf('/') + 1);
allowedUris.Add(new Uri(e.Uri.ToString()));
wv1.AllowedScriptNotifyUris = allowedUris;//error coming in this line
string[] args = { "this.newfunc_eventHandler=function(e){e.cancelBubble = true;var dataValue= document.selection.createRange().htmlText.toString();window.external.notify(dataValue);}" };
wv1.InvokeScript("eval", args);//error also in this line
string[] arg = { "document.body.addEventListener('copy',newfunc_eventHandler,true);" };
wv1.InvokeScript("eval", arg);//error also in this line
}
В приложениях для Windows 8 этот код используется для включения скрипта при нажатии кнопки копирования на странице веб-просмотра. Но при входе в Windows 8.1 Universal приложения при назначении URL-адреса и скрипта возвращает метод, не реализованный error.please помочь решить эту проблему...
1 ответ
Смотрите примечания в документации AllowedScriptNotifyUri.
Windows 8.1 AllowedScriptNotifyUris не поддерживается в приложениях, скомпилированных для Windows 8.1. Чтобы разрешить внешней веб-странице запускать событие ScriptNotify при вызове window.external.notify, необходимо включить URI страницы в раздел ApplicationContentUriRules манифеста приложения. (Это можно сделать в Visual Studio на вкладке URI контента в конструкторе Package.appxmanifest.) URI в этом списке должны использовать HTTPS и могут содержать подстановочные знаки субдомена (например, https: //.microsoft.com), но они не может содержать доменные символы (например, https: //.com и https: //.). Требование к манифесту не применяется к содержимому, которое исходит из пакета приложения, использует URI ms-local-stream: // или загружается с использованием NavigateToString.