在我的 C# 代码中,我在表单中使用 WebBrowser 控件来显示我的数据。最初我通过 webViewer.DocumentText = someHtml; 填写我的数据。(1) 正如预期的那样,这会产生 Navigating、Navigated 和 DocumentCompleted 事件的序列。
然后在稍后阶段我调用 webViewer.Navigate(new Uri("javascript:myFunction(x,y)")); (2) 由于我在 Compact Framework 上,我知道这是调用某些 javascript 的唯一方法。(如本次讨论中所见)现在,就事件而言,我只收到 Navigating 事件,仅此而已......,而不是其他事件。WebBrowser.ReadyState 也将永远停留在“正在加载”。我对这种行为有点困惑。
我已将 myFunction 简化为最简单的方法,以证明此行为与该函数的实际内容无关(好像它包含无限循环或一些严重错误)。
虽然确实调用了 myFunction,但处于 Loading 状态的 ReadyState 将阻止 DocumentText 的进一步更新,如 (1) 中所做的那样,这会阻止进一步的正常执行。
我想我可能错过了有关使用此控件的某些内容,也许有一种方法可以重置其状态,如果它不自动发生,但我已经没有想法了。有什么提示吗?