vb.net webbrowser控件,不刷新htmltext

vb.net webbrowser控件,不刷新htmltext,.net,vb.net,google-maps-api-3,webbrowser-control,.net,Vb.net,Google Maps Api 3,Webbrowser Control,我已经在谷歌上搜索到了中国的尽头和南美的尖端。。。我似乎找不到解决这个普遍问题的具体办法 我正在开发一个谷歌地图ap,并希望根据需要用新的细节刷新地图。当然,最初的问题是webbrowser控件不反映更改(仍然保留原始htmltext)和新文档文本以及刷新。我知道文档文本只设置了一次,无法更改。。。显然 我试过了 navigate("about:blank") document.stop document.new(true) doevents 所有收集到的关于这个问题的用户知识,只能让我半途

我已经在谷歌上搜索到了中国的尽头和南美的尖端。。。我似乎找不到解决这个普遍问题的具体办法

我正在开发一个谷歌地图ap,并希望根据需要用新的细节刷新地图。当然,最初的问题是webbrowser控件不反映更改(仍然保留原始htmltext)和新文档文本以及刷新。我知道文档文本只设置了一次,无法更改。。。显然

我试过了

navigate("about:blank") 
document.stop
document.new(true)
doevents
所有收集到的关于这个问题的用户知识,只能让我半途而废。我可以使用上面的一些技术刷新页面,但它会给我一个脚本错误和一个错误53,这两个错误都没有详细信息或来源。。只是空白错误。。。。单击错误窗口后,“我的页面”将刷新

谁能为一个明确的解决方案提供一些线索。真的会有这么大的问题吗

另外,我不知道绑定到webbrowser控件的javascript事件是否会导致错误。有些人认为错误是由于文档加载时没有关闭/打开所有引用


有人能救我脱离疯狂吗。

路易斯,你好吗,伙计?我理解WB控制问题是如何破坏交易的,在我们解决这个问题之前,我将帮助您。但是,你能告诉我更多关于HTMLText和DocumentText的信息,以及你所说的它们是什么意思吗?它们是WB控件的属性吗?我使用的是.NET之前的WB控件,它基本上还是一样的,但是.NET控件有一些更奇特的属性和方法:)

好的,第一件事是第一件事,你确定这个新的数据交换不会发生在帧或iframe中吗?因此,您无法在顶级HTML文档/页面的HTML文本中看到任何更改?我有一个函数,它递归地获取对页面上所有帧的引用,以及这些帧中的所有帧,即每个帧和所有嵌套帧,直到无限深。这可能会对你有所帮助

还有,你用什么来获取文本?html文档是一个活动文档,因为随着元素的更改,DOM也会更改,您从DOM中读取的内容也会更新,它是一个100%活动的文档,只要您将文档声明为MSHTML.IHTMLDocument,那么您就可以继续了

最重要的是,我没有听到你提到.innerText、.outerText、.innerHTML和.outerHTML。当然,这些是您想要从中检索文本/源的项目。如果您想要完整的页面,请查看这些属性!因此,如果希望正文标记中包含文本,可以执行以下操作:

比如说,输出IHTMLDocument对象称为hDoc

MsgBox hDoc.body.innerText
这将只显示BODY标记内的文本,要获取BODY标记内的HTML,只需执行以下操作

MsgBox hDoc.body.innerHTML
现在,如果您希望在主体标记中包含HTML,同时检索开始和结束主体标记,那么您可以执行以下操作:

MsgBox hDoc.body.outerHTML
。。。等等

当然,如果出于任何原因想刷新文档,webbrowser控件有一个刷新方法,它是WebBrowser1.refresh,我认为有一个.Refresh2,它的刷新逻辑稍有不同

我可以继续讲下去,但我想知道,在我们开始之前,我已经正确理解了你的问题。现在,唯一改变的是webbrowser控件中地图的实时图像,不是吗?也许它周围有一些文字,比如地址等?或者仅仅是图像数据发生了变化(我使用谷歌地图已经有一段时间了,不确定您使用的是哪种实现),所以如果您能让我知道具体的变化以及您试图获取/读取的内容,我应该能够更好地帮助您,总之,我承诺在我们解决这个问题之前握住您的手(lol)-干杯,伙计,让我知道进展如何


Erx.

你好,Erx。我肯定会刷新三倍,这是第一个通话点。花了一个小时查找我的代码的问题。。。。这是当我决定这是控制不更新,不是我的代码故障:-)。我正在从一个类生成完整的html文档代码,包括maps api和markers等的javascript。您可以将该类输出html粘贴到empy文件中,地图将按生成的方式工作。因此,基本上,在一个新的maker广告上,我想用一个完整的新页面更新浏览器组件中的compelte页面。我最初使用我的类(整个文档文本)输出页面的htmltext=。重置htmltext并刷新时,其未更新。其余的,就像ym第一篇文章一样。@Louis van Tonder我现在很好奇,你是否真的试图改变HtmlText中的值&希望改变它会改变/更新html?如果是这样,就不会了。如果希望以编程方式更改文档,则需要遍历DOM中的所有元素&逐个更改/更新它们。因此,获取对IHTMLDocument2(顶级html页面)的引用,并根据需要浏览所有元素,从0到myDoc.all.length-1-我可以告诉您如何执行此操作如果您是文档对象的新手,请告诉我您是否真的试图直接更改html文本。嗨,不,我没有尝试“修改”任何html对象。我正在生成一个完整的新html文档(从doctype到/body)。我希望在这个短语的所有实例中,使用所述新html文件(作为文本)完全重新加载web浏览器控件。我不知道;I don’我不想导航到物理临时文件,我需要将html文件文本作为字符串,就像我第一次加载brwoser控件一样。@Louis van Tonder作为WB人员,我想知道你想从WB的角度做什么,我只想告诉你我从你的问题中理解了什么,&如果我是正确的,您想给WB控件一个预先制作好的HTML字符串,并让WB控件呈现该HTML字符串,对吗?因此,您有了HTML字符串&生成HTML字符串没有问题