Windows phone 7 是否可以检测WP7 WebBrowser控件中的DOM元素?
是否可以使用WP7 WebBrowser控件在用户点击的站点下检测DOM元素?我想让用户识别呈现页面的某些部分。我猜您必须从中构建一些内容 此时,您将像往常一样注册一个JavaScript事件处理程序,但该事件处理程序将依次调用Windows phone 7 是否可以检测WP7 WebBrowser控件中的DOM元素?,windows-phone-7,webbrowser-control,Windows Phone 7,Webbrowser Control,是否可以使用WP7 WebBrowser控件在用户点击的站点下检测DOM元素?我想让用户识别呈现页面的某些部分。我猜您必须从中构建一些内容 此时,您将像往常一样注册一个JavaScript事件处理程序,但该事件处理程序将依次调用window.external.notify(“someMessageToHandle”)。然后,您必须适当地路由呼叫 如果您不能直接在页面上添加JavaScript事件处理程序,可以使用添加它们。是。这段代码对我来说非常有效: private void butt
window.external.notify(“someMessageToHandle”)代码>。然后,您必须适当地路由呼叫
如果您不能直接在页面上添加JavaScript事件处理程序,可以使用添加它们。是。这段代码对我来说非常有效:
private void button1_Click(object sender, RoutedEventArgs e)
{
// first define a new function which serves as click handler
webBrowser1.InvokeScript("eval", "this.newfunc_eventHandler = function(e) { window.external.notify(e.srcElement.tagName); }");
// attach function to body
webBrowser1.InvokeScript("eval", "document.body.addEventListener('click', newfunc_eventHandler, false);");
}
private void webBrowser1_ScriptNotify(object sender, NotifyEventArgs e)
{
// this should be called every time you tap an element; the value should be its tag name
Debug.WriteLine(e.Value);
}
这与贾斯汀的答案一致(他在编码时打败了我)。它首先定义一个点击处理程序,然后将其附加到页面的主体(全部通过)。每次点击一个元素时,应在WebBrowser
上调用该元素,报告点击元素的标记名
确保已将浏览器控件的IsScriptEnabled
设置为true