我正在为Windows Phone 8构建一个Web浏览器。 现在我做了基本的事情,如后退,前进,刷新等, 但是我想再添加两个功能来完成它。
首先是一个历史记录功能,它记录访问过的网页的历史记录,并在被询问时显示它。
其次,我想添加一个收藏夹功能,浏览器中的当前网页可以放在列表中,以后可以查看列表。
我发现了一些有用的东西,但它是针对wpf而且没有用,所以任何人都可以一步一步告诉我如何处理代码或示例? 如果需要,我也可以发布示例代码。
答案 0 :(得分:0)
<强> 1。导航历史
处理 导航 WebBrowser控件事件和事件处理程序,并将文本格式的Url保存在独立存储文件中。下面是代码。
你的xaml 中的
<phone:WebBrowser Navigated="WebBrowser_Navigated" ... >
后面的代码中的事件处理程序
private void WebBrowser_Navigated(object sender, NavigationEventArgs e)
{
using (IsolatedStorageFile storeFile= IsolatedStorageFile.GetUserStoreForApplication())
{
StreamWriter sr = new StreamWriter(new IsolatedStorageFileStream("Browse_History.txt", FileMode.Append, storeFile));
sr.WriteLine(e.Uri.ToString());
sr.Close();
}
}
以下方法将从本地商店中读取浏览器历史记录
private List<string> ReadHistory()
{
List<string> history = new List<string>();
using (IsolatedStorageFile storeFile = IsolatedStorageFile.GetUserStoreForApplication())
{
if (storeFile.FileExists("Browse_History.txt"))
{
using (StreamReader reader = new StreamReader(new IsolatedStorageFileStream("Browse_History.txt", System.IO.FileMode.Open, FileAccess.Read, storeFile)))
{
var uri = reader.ReadLine();
while (!string.IsNullOrEmpty(uri))
{
history.Add(uri);
uri = reader.ReadLine();
}
reader.Close();
return history;
}
}
}
return null;
}
您必须使用顶部的语句添加一些缺少的程序集
using System.IO.IsolatedStorage;
using System.IO;
<强> 2。 Favorties 强>
我想你想用当前打开的页面Url按钮点击保存收藏夹。按钮单击事件处理程序编写以下代码。
private void btnSaveToFavorties_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile appStore = IsolatedStorageFile.GetUserStoreForApplication())
{
StreamWriter sr = new StreamWriter(new IsolatedStorageFileStream("Browser_Favorties.txt", FileMode.Append, appStore));
sr.WriteLine(webBrowser.Source.ToString());
sr.Close();
}
}
及以下是加载所有优惠的代码
private List<string> LoadFavoirties()
{
List<string> history = new List<string>();
using (IsolatedStorageFile appStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (appStorage.FileExists("Browser_Favorties.txt"))
{
using (StreamReader reader = new StreamReader(new IsolatedStorageFileStream("Browser_Favorties.txt", System.IO.FileMode.Open, FileAccess.Read, appStorage)))
{
var uri = reader.ReadLine();
while (!string.IsNullOrEmpty(uri))
{
history.Add(uri);
uri = reader.ReadLine();
}
reader.Close();
return history;
}
}
}
return null;
}
希望这有帮助