以下代码在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应用程序中,当在webview页面中单击复制按钮时,此代码用于启用脚本。但是在分配url和脚本时来到Windows 8.1 Universal应用程序时,它返回的方法没有实现error.please帮助解决这个问题...
答案 0 :(得分:0)
请参阅AllowedScriptNotifyUri docs
中的评论Windows 8.1 在为Windows 8.1编译的应用程序中不支持AllowedScriptNotifyUris。要在调用window.external.notify时启用外部网页来触发ScriptNotify事件,您必须在应用清单的ApplicationContentUriRules部分中包含页面的URI。 (您可以在Package.appxmanifest设计器的“内容URI”选项卡上的Visual Studio中执行此操作。)此列表中的URI必须使用HTTPS,并且可能包含子域通配符(例如,https:// .microsoft.com )但它们不能包含域通配符(例如,https:// .com和https:// 。)。清单要求不适用于源自app包的内容,使用ms-local-stream:// URI,或使用NavigateToString加载。