我正在为我的聊天应用程序使用WebBrowser Control。每次添加用户的消息时 - 它都会使用新内容刷新WebBrowser。而且效果很好。 但是我在html代码中添加了一个背景后,每次刷新时都会闪烁。 这是我的Navigate()方法:
public void Navigate(string url)
{
string text = File.ReadAllText(url);
if (bg.Length > 0)
webBrowser1.DocumentText = text.Replace("%bg%", "background=\"" + bg + "\"");
else
webBrowser1.DocumentText = text;
}
这是我的html文件头:
addText("<html>\r\n<head>\r\n<meta charset=utf-8>\r\n</head>\r\n<body %bg% bgproperties=\"fixed\" onload=\"window.scrollTo(0,2147483647);\">\r\n<span style=\"line-height: 20px\" style=\"font-family: Arial; font-size: 14px\">\r\n<font color=black>", NewLine.No);
每次用户添加消息时,我的程序都会将其添加到html文件的末尾并执行Navigate()方法。
你有什么想法去除闪烁吗?
答案 0 :(得分:4)
不是每次都重新加载新文档,而是设置现有InnerHTML
的{{1}}。
答案 1 :(得分:2)
在<Head>
代码
<meta http-equiv="Page-Enter" content="blendTrans(Duration=0)">
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0)">
它运作正常。
答案 2 :(得分:0)
我补充说:
<meta http-equiv='Page-Exit' content='filter: expression(document.execCommand("BackgroundImageCache", false, true))'>
到我的HTML代码,它没有闪烁。我不知道它是如何工作的(我不知道html),只是花了一些时间在谷歌搜索解决方案。
这很奇怪,因为我可以替换:
expression(document.execCommand("BackgroundImageCache", false, true))
其他任何东西,它仍然有效。