2017-08-27 56 views
0

我在Visual Studio上试过这段代码。但它变成:如何在UWP的WebView上获得scrollYOffset?

System.Exception的: '从HRESULT异常:0x80020101'

我怎样才能解决这个问题?

string function = @"window.external.notify(document.body.scrollTop)"; 

await PinView.InvokeScriptAsync("eval", new string[] { function }); 

回答

1

System.Exception的: '从HRESULT异常:0x80020101'

脚本在web查看内容可以使用window.external.notify与string参数来将信息发送回你的应用。但是,document.body.scrollTop的类型是number。所以,你应该将参数转换为字符串。

string function = @"window.external.notify(document.body.scrollTop.toString())"; 
await MyWebView.InvokeScriptAsync("eval", new string[] { function}); 

要接收这些消息,请处理ScriptNotify事件。

private void MyWebView_ScriptNotify(object sender, NotifyEventArgs e) 
{ 
    MyText.Text = e.Value.ToString(); 
} 
+0

谢谢。我明白。我试过这根线。但仍然提醒“System.Exception:'来自HRESULT的异常:0x80020101'”。我不知道为什么? – Tarou

+0

string function = @“window.external.notify(document.documentElement.scrollTop.toString())”;也是错误的。 – Tarou

+0

非常感谢!我解决了这个问题。在页面呈现之前,运行脚本会变为错误。 。 “Completed”脚本运行良好后。 – Tarou