C# 网页呈现位置控制器

C# 网页呈现位置控制器,c#,webpage-rendering,C#,Webpage Rendering,第一个问题,但我真的陷入了困境 我有一个网页渲染,这是完美的工作。但是,我需要能够控制初始显示位置(几乎像HTML中的a href#锚),但不能访问网站内容 据我所知,除了要启用/禁用的bool外,我无法访问滚动条 有什么我可以做,甚至强迫向下滚动20%,例如,然后我可以创建一个表单,以调整以后 任何帮助都将不胜感激,尽管根据我的研究,这似乎不太可能 我有常规的windows WebBrowser渲染 private System.Windows.Forms.WebBrowser m_WebBr

第一个问题,但我真的陷入了困境

我有一个网页渲染,这是完美的工作。但是,我需要能够控制初始显示位置(几乎像HTML中的a href#锚),但不能访问网站内容

据我所知,除了要启用/禁用的bool外,我无法访问滚动条

有什么我可以做,甚至强迫向下滚动20%,例如,然后我可以创建一个表单,以调整以后

任何帮助都将不胜感激,尽管根据我的研究,这似乎不太可能

我有常规的windows WebBrowser渲染

private System.Windows.Forms.WebBrowser m_WebBrowser

谢谢


--这是针对c#独立应用程序的。。不是基于网络的。

您尝试过使用jquery吗

我个人使用jquery中的动画方法滚动到我网页中的某些元素

例如:

 $('html, body').animate({scrollTop: $('#the-element-you-want-to-scroll-to).offset().top}, 1000);

PS:对于最后一个参数,您可以控制它滚动到目的地的时间,这为您提供了一个很好的效果。(以毫秒为单位)

我使用了一种奇怪的方法解决了它

我基本上是手动将一些javascript注入到呈现的HTML中。。然后剩下的就容易了

我用了这样的方法:

            string updatedSource = WebBrowser.DocumentText.Replace("Google", "Foogle");
            string extraSource =
            "<html><body>Script goes here <br/>" +
            "<div><p>BLA BLA BLA</p></div></body></html>";


            WebBrowser.DocumentText = extraSource + updatedSource;

            WebBrowser.Update(); 
string updatedSource=WebBrowser.DocumentText.Replace(“Google”、“Foogle”);
字符串外部源=
“脚本位于此处
”+ “blablablabla

”; WebBrowser.DocumentText=extraSource+updatedSource; WebBrowser.Update();

也许这会对某人有所帮助。

如果我可以访问该网站页面,我将能够做到这一点,没有问题,但是它来自第三方网站,因此c#应用程序将需要呈现该网页并“自动”向下滚动到某个位置。。这是一个c#only related。。遗憾的是,我无法将心爱的jquery带入其中!:(您可以尝试像往常一样呈现页面,但这次在某处插入javascript/jquery(在事件上)会更好),虽然我在MVC而不是webforms中使用了它。抱歉,我应该更好地解释这一点。这是针对c#独立应用程序的。不是基于Web的。抱歉,当时认为这是浏览器中的网页呈现。有趣的是,这很方便!标记为更好的答案!