繁体   English   中英

如何重置UWP WebView的内容缩放系数

[英]How to reset UWP WebView's content zoomfactor

我正在尝试将c#UWP中的Web视图的内容zoomfactor重置为1或100%。

我的问题是该怎么做?

  • 有没有办法告诉WebView本身通过C#缩放回1.0?

就像webView.ContentScale = 1.0;

要么

  • 我必须在html中调用什么才能告诉它缩放回100%?

就像我这样做是为了执行点击

webView.InvokeScriptAsync("eval", new string[] { "document.elementFromPoint(" + 555 + ", " + 355 + ").click();" });

要么

如果您知道如何在html / js中重置zoomfactor,这也将对我有所帮助。 我将通过评估添加该代码并调用它。

信息:Microsoft Edge渲染引擎用于这些Web视图。

我不想只是重新加载页面,因为可能会有一些用户更改,然后这些更改可能会丢失。

来自德国的问候。

有没有办法告诉WebView本身通过C#缩放回1.0?

恐怕目前尚无此类方法可以直接设置WebView的内容比例。

如果您知道如何在html / js中重置zoomfactor,这也将对我有所帮助。 我将通过评估添加该代码并调用它。

如您所料,我们可以在将要加载WebView的页面上添加Javascript函数,并通过InvokeScriptAsync方法调用该函数。 我们可以在该函数中为样式设置zoom属性,以根据需要重置缩放系数。 例如,我们将以下HTML加载到WebView ,并创建一个ZoomFunction

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <script type="text/javascript">
        function ZoomFunction(Percentage) {
            var mybody = document.getElementById("mybody");         
            mybody.style.zoom = Percentage + "%";
        }
    </script>
</head>
<body id="mybody" style="margin:0px;padding:0px; overflow:hidden;zoom:50%"> 
      This content is shown for zoom in and out. 
</body>
</html>

这样我们就可以通过如下调用脚本来将内容缩放到100%:

 await MyWebView.InvokeScriptAsync("eval", new string[] { "ZoomFunction(100);" });

有关更多详细信息,请参考如何在Universal Windows Platform中放大/缩小WebView中的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM