我已经为Windows Phone 7创建了一个Web浏览器。在那里我还保存了浏览历史记录以及该页面的标题。但是由于这个代码,当我试图加载像thinkdigit等有点大的网站。没有加载。同时,如果我删除了特定代码,则历史页面中不会记录历史记录。它显示以下突出显示的代码的错误 - “发生了未知错误。错误:80020006”。我认为它是由于大网站,否则我需要把毫秒或我必须做什么? 在此先感谢您的辛勤工作!!!
以下是我用过的代码 -
private void browsers_Navigated(object sender,System.Windows.Navigation.NavigationEventArgs e)
{
pbarWebClient.Visibility = System.Windows.Visibility.Collapsed;
if (!fromHistory)
{
if (HistoryStack_Index < HistoryStack.Count)
{
HistoryStack.RemoveRange(HistoryStack_Index, HistoryStack.Count - HistoryStack_Index);
}
HistoryStack.Add(e.Uri);
if (!app.incognito)
{
********string title = (string)browsers[this.currentIndex].InvokeScript("eval", "document.title.toString()");********----->This is the error.
stream.WriteLine(title + ";" + e.Uri.ToString());
}
HistoryStack_Index += 1;
}
fromHistory = false;
navigationcancelled = false;
Stop.Visibility = Visibility.Collapsed;
}
答案 0 :(得分:1)
我希望eval
已被覆盖或以其他方式在相关网站上被压制。
“80020006”是一个javascript调用错误代码。简单地假设一个javascript方法可用并且在任何网站上以相同的方式工作并不总是如此。
答案 1 :(得分:0)
最后,我得到了适合自己问题的答案。只需用上面的代码替换上面的代码 -
if (!app.incognito)
{
Thread.Sleep(100);
Dispatcher.BeginInvoke(() =>
{
string title = (string)browsers[this.currentIndex].InvokeScript("eval", "document.title.toString()");
stream.WriteLine(title + ";" + e.Uri.ToString());
});
}