[英]uwp programmatically scroll WebView up and down
我正在创建一个简单的新闻提要,用户可以打开一个webview来查看新闻的详细信息,出于某种原因,我希望用户可以使用按钮来控制webview的上下滚动,而不是使用scrollviewer,所以我创建了webview显示详细信息,但不知道如何使用按钮上下滚动
for some reason i want user can use buttons to control the webview scroll up and down instead of using scrollviewer.
由于某些原因,我希望用户可以使用按钮来控制Webview上下滚动,而不是使用scrollviewer。
For your requirement, you could use InvokeScriptAsync
method to notify javaScrip
to invoke custom scroll method. 根据您的要求,可以使用
InvokeScriptAsync
方法来通知javaScrip
调用自定义滚动方法。 For more please refer to Interacting with WebView content. 有关更多信息,请参阅与WebView内容交互。 And I have created a sample to achieve a simple page scrolling.
我创建了一个示例来实现简单的页面滚动。 Please refer to the following code:
请参考以下代码:
HtmlPage HtmlPage
<body>
<div id="test" style="width: 600px;height: 400px;padding: 10px;margin: 10px;border: 1px solid black;overflow:scroll;font-size:15px;line-height:200px;">
Content
</div>
<script type="text/javascript">
function ScrollDownBtn() {
test.scrollTop += 10;
}
function ScrollUpBtn() {
test.scrollTop -= 10;
}
</script>
</body>
MainPage.xaml MainPage.xaml中
<WebView x:Name="MyWebView" Source="ms-appx-web:///NewsPage.html" />
<StackPanel
Grid.Row="1"
HorizontalAlignment="Center"
Orientation="Horizontal">
<Button
x:Name="ScrollUp"
Margin="10"
Click="ScrollUp_Click"
Content="ScrollUp" />
<Button
x:Name="ScrollDown"
Margin="10"
Click="ScrollDown_Click"
Content="ScrollDown" />
</StackPanel>
MainPage.xaml.cs MainPage.xaml.cs中
private async void ScrollUp_Click(object sender, RoutedEventArgs e)
{
await MyWebView.InvokeScriptAsync("ScrollUpBtn", null);
}
private async void ScrollDown_Click(object sender, RoutedEventArgs e)
{
await MyWebView.InvokeScriptAsync("ScrollDownBtn", null);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.