也许因为IE9在HTML5的api上面远落后于Chrome,所以在wp7 的 webbrowser里面有一个比较强大的事件 ScriptNotify
在html里面写上如下代码
<input type="button" onclick="window.external.notify('abc');" value ="scriptnotice"></input>
就可以激活 ScriptNotify 事件
在这个事件里面,你可以做很多原生代码,如取手机内存什么的
private void webBrowser1_ScriptNotify(object sender, NotifyEventArgs e)
{
string aa = e.Value;
var temlist = new string[]{aa,DeviceStatus.ApplicationCurrentMemoryUsage.ToString()};
webBrowser1.InvokeScript("callback", temlist);
}
webBrowser1.InvokeScript可以执行网页上的方法,还能传参数
假设我们html页面上有如下方法
function callback(aa,bb)
{
document.getElementById("log").innerHTML=aa+" "+bb;
}
通过ScriptNotify 事件,我们完全可以用HTML5来做UI,可是过分依赖的话,就和HTML5一统手机平台的初愿越走越远.