0

我正在尝试制作一个文档阅读器(主要是漫画),所以我认为 WebKitGTK# 将是最好的选择,因为我可以执行一个 PHP 脚本,它会给我一个网页来阅读文档。

但是,当我移动到下一页(或章节)时,由于网页重新加载并且它的名称与上次读取的名称相同(PHP 脚本会自动生成一个具有相同名称的新名称,并覆盖它),它会移动到它在最后一页的位置,这意味着如果我在最后一页,当移动到下一章时,我将再次在最后一页,并且必须手动移动到页面顶部。

我已经考虑过了,我找到了 4 种可能的解决方案:

选项 1:在 webview 内部移动的功能

WebKitGTK(原始项目,C 语言)没有显示任何与移动 WebView 位置相关的远程内容。

有一个 webView.MoveFocus,但它似乎是 GTK# 属性(?)而不是 WebKit 属性。

选项 2:使用 JavaScript 代码移动到页面顶部

StackOverflow 中有一些问题会问这个问题。解决方案提供的代码可用于此目的。

问题是浏览器不想运行 JavaScript(我已经在设置中使用 告诉它这样做 settings.EnableJavascript = true;)。Firefox 确实执行了我抓取的代码并在重新加载后返回顶部完美无缺,但 WebKitGTK 没有。

但是,我已经看到 Python 和 C 的 WebKitGTK 绑定允许用户执行脚本。我没有找到任何 C# 绑定(文档真的很缺乏),但它们可能存在。

选项 3:将设置中的 settigs.EnablePageCache 选项设置为 false

我试过这样做,但似乎什么也没做。

选项 4:对 JavaScript 代码执行相同的操作,但使用 PHP/HTML

正如我上面提到的,这个程序的怪物会执行一个 PHP 脚本。修改它不会有问题,但 StackOverflow 中似乎没有关于此的问题。

我不需要为每一点都得到答案,只要其中一个就足够了,但如果你愿意,请随意。

对于任何语法错误/拼写错误/听起来我很生气/这篇文章太长/等等,我很抱歉,我不是以英语为母语的人。

4

0 回答 0