【发布时间】:2018-05-11 14:07:49
【问题描述】:
我打算制作一个内容管理系统。
系统组成:
- 按类别的页面树。 (按类别的页面树);
- 网页浏览器。 (网页浏览器);
页面内容:
- 格式化文本;
- 图片;
- 参考;
HTML 格式的文本存储在数据库中。
类别树将数据库中的文本显示到 Web 浏览器。
需要在页面之间进行过渡。
即从页面“Page_1”过渡到页面“Page_2”的必要段落
逻辑:
- 用户。它在“Page_1”页上。
- 用户。点击“Page_1”页面上的链接。
- 浏览器。打开页面“Page_2”,滚动到“Paragraph_N”(“N”取决于页面上的哪个段落是“Page_1”)
我打算用链接“锚”做的页面之间的过渡
<a href="text.html#bottom"> Go to the bottom of the text </a>
我认为要执行此逻辑,需要应用程序执行以下操作:
- 跟踪“点击链接”事件;
- 从链接中提取链接引用的页面名称(“text.html”);
- 根据名称从数据库中提取页面;
示例 HTML 代码“Page1”和“Page 2”
https://codeshare.io/2Bb03L
问题
1.点击链接时如何在“Webbrowser”事件中获取链接属性(页面名称)?
2. 执行此逻辑的更合理的方法是什么(从页面“Page_1”到页面“Page_2”)?
3.0 点击链接时如何进行如下动作:
3.1。如果该网站的链接 - 在 Chrome 中打开?
3.2.如果从数据库链接到页面 - 在“webBrowser1”中打开?
3.3.如果该段页面的链接来自数据库 - 在
中打开
"webBrowser1" 并将滚动条滚动到所需的段落?
image
【问题讨论】:
-
查看WebBrowser.Navigating 事件。
WebBrowserNavigatingEventArgs为您提供浏览器要访问的 URL,e.Cancel属性允许您中断操作。使用 URL 从源中获取页面并将其传递给 WebBrowser。 Navigating 事件应该包含一些逻辑来理解您的代码何时引发事件,例如bool ItsMe = true。第二个问题暗示有一种不合理的方法可以做到这一点。 -
@Jimi 更新了问题。我不明白。我是初学者,我不打算使用 Web 服务器。我只放置“URL”页面的名称。单击链接时如何进行以下操作: 1. 如果链接到该站点 - 在 Chrome 中打开。 2. 如果从数据库到页面的链接 - 在“webBrowser1”中打开 3. 如果从数据库到页面的段落链接 - 在“webBrowser1”中打开并滚动滚动到所需的段落。示例 HTML 代码“第 1 页”和“第 2 页”codeshare.io/2Bb03L 你能举个例子吗?
-
我从未提到过 Web 服务器。
Href标签有自己的语法,你需要遵守。 Study it a little。按照链接到WebBrowser.Navigating,查看它是如何工作的,搜索 Google 和 SO 以获取示例。你会发现很多。当您遇到特定的编码问题时,请发布一个特定的问题(顺便说一句,您已经发布了这个问题)。 -
请看How to Ask。不要在一篇文章中提出多个问题。
标签: c# winforms webbrowser-control