65.9K
CodeProject 正在变化。 阅读更多。
Home

Windows Phone WebBrowser控件:操作页面DOM

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.86/5 (3投票s)

2014年3月18日

CPOL

1分钟阅读

viewsIcon

10474

展示如何在Windows Phone的WebBrowser控件中加载的页面中操作DOM。

引言

如果你熟悉桌面(Windows Forms)编程,你应该知道WebBrowser控件有一个名为Document(类型为HtmlDocument)的属性。这个属性允许我们操作页面的DOM。

然而,这个属性在Windows Phone WebBrowser控件中不存在。但仍然有办法操作页面的DOM,那就是使用JavaScript。

背景

基本上,我的代码使用WebBrowser的InvokeScript函数,借助JavaScript来操作页面的DOM。

这段代码基于我在另一篇文章中描述的概念

重要提示

在开始调用脚本之前,首先将IsScriptEnabled属性设置为True,否则它将无法工作。

Using the Code

以下是通过JavaScript操作DOM的一个例子

string script = "function() { return document.getElementById('ElementID').innerText; }";
string elementInnerText = (string)WebBrowser1.InvokeScript("eval", script);

在上面的例子中,我使用一个小脚本来获取网页中某个元素的InnerText属性。

备注

不幸的是,我没有安装Windows Phone SDK。因此,我无法测试上面的代码。

然而,根据理论和文档,这是正确的方法。

如果在调用InvokeScript方法时遇到任何异常,请尝试修改你的脚本。记住,同样的事情可以用很多种方式完成。

我应该指出的是,相同的脚本可能无法在所有版本的Windows Phone上工作,所以你应该进行测试!

原始源代码

这篇文章最初发布在我的个人博客(巴西葡萄牙语)。
如果你会葡萄牙语,请务必访问原始文章

© . All rights reserved.