2009-09-21 58 views
2

当我通过WebBrowser加载页面,然后单击一个激发AJAX脚本的链接时,我需要检测AJAX java脚本何时完成将HTML更改加载到div中。由于在运行AJAX脚本时不会触发DocumentCompleted事件,因此我不知道它何时完成运行。在我知道100%的JavaScript完成更改div后,有没有一种方法可以附加一个要提出的事件?
该项目是在C#中。
谢谢AJAX在WebBrowser中的DIV中更改HTML时检测

+0

AttachEventHandler命令如何?它可以用来解决这个问题吗? – Pascal 2009-09-21 13:24:24

回答

0

没有事件。您必须修补浏览器在回复AJAX请求时运行的JavaScript回调。这将包含类似“div.innerHTML = ...”的代码。只要把你的代码放在下面。

+0

我无法控制已加载的脚本,因为它是第三方页面。 – Pascal 2009-09-21 13:25:12

1

我做了类似的事情最近(使用jQuery):

$('#mydiv').change(function(){ 
     // do stuff 
    } 
); 

当然,我也使用jQuery来设置div的HTML。我想你可以通过你自己的函数来设置一个非jQuery方法,而这又可以触发一个onchange事件。

@新镇:从我的经验来看,这是不正确的。我在多个DIV上使用它,这些DIV始终没有得到重点关注,并且效果良好且一致。正常行为与您所描述的一样,通常只适用于INPUT和SELECT元素,但jQuery并非如此。

+0

恐怕只有当元素失去输入焦点时才会触发“更改”事件(如果值已更改)。 – 2009-09-21 13:25:08

+0

我可以在.Net中做到这一点吗? – Pascal 2009-09-21 13:25:45

+0

你可以在.Net中使用jQuery。 Stackoverflow本身大量使用jQuery。 – acrosman 2009-09-21 13:48:46