以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- webkit更改target (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=107722) |
-- 作者:新航程小何 -- 发布时间:2017/10/8 17:25:00 -- webkit更改target 这是foxtable自带的浏览器修改target的方法 Public Sub web_DocumentCompleted(sender As object, e As windows.forms.WebBrowserDocumentCompletedEventArgs) For Each archor As object In sender.Document.Links archor.SetAttribute("target", "_self") Next MessageBox.show("target被改了") End Sub 我在用webkit,使用同样的方法去修改,不执行此以上代码?请问老师我应该怎么处理呢? 我现在的一种解决思路是: Dim web As new WebKit.WebKitBrowser web.Dock = Windows.Forms.DockStyle.fill web.Navigate(url) For Each archor As object In web.Document.links archor.SetAttribute("target", "_self") Next 结果出错了,提示webkit.Dom.Document没有links,所以我想知道我应该怎么修改呢?请老师教教 |
-- 作者:有点甜 -- 发布时间:2017/10/8 17:32:00 -- For Each archor As object In web.Document.getElementsByTagName("a")
或者你可以给其绑定 NewWindowCreated 事件
|
-- 作者:新航程小何 -- 发布时间:2017/10/8 17:41:00 -- 老师,我按照您的方法测试了一下,不行,提示如下错误 我打印了一下web.text结果,是空的。我估计问题出这了吧。这是怎么回事?
|
-- 作者:有点甜 -- 发布时间:2017/10/8 17:50:00 -- 应该是你页面没有加载完毕,试试
Do Until web.ReadyState = 4
For Each archor As object In web.Document.getElementsByTagName("a")
或者,你可以绑定事件的嘛,绑定事件和 webbrowser 是一样的。 |
-- 作者:新航程小何 -- 发布时间:2017/10/8 17:59:00 -- 老师,您说的第二种方法怎么实现?我试了第一种方法,提示无readyState的方法 |
-- 作者:有点甜 -- 发布时间:2017/10/8 18:02:00 -- 参考
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=73886&skin=0
|
-- 作者:新航程小何 -- 发布时间:2017/10/8 18:05:00 -- 老师,我就是参考这个的,不过呢,这个案例是foxtable内置的浏览器控件,我用的是webkit,在使用过程中遇到的问题。老师您看能帮我解决一下吗?这问题困扰我很久了 |
-- 作者:有点甜 -- 发布时间:2017/10/8 18:08:00 -- 绑定事件,是一样的代码,请认真测试。 |
-- 作者:新航程小何 -- 发布时间:2017/10/8 18:29:00 -- 老师,这个我真的没弄出来,您可以试一下,webkit的似乎太一样。我很早前就困扰这个问题。 |
-- 作者:有点甜 -- 发布时间:2017/10/8 19:25:00 -- 以下是引用新航程小何在2017/10/8 18:29:00的发言:
老师,这个我真的没弄出来,您可以试一下,webkit的似乎太一样。我很早前就困扰这个问题。
一模一样。你做的时候报什么错?贴出你写的代码。 |