我正在使用 2 个网络浏览器来比较文本,当行变得很长时它会包裹我的文本,我想删除它或降低我的字体大小以避免这种情况。
有人可以告诉我如何删除单词扭曲或更改字体大小web Browsers
吗?
下面的自动换行完全错过了我的比较:
我正在使用 2 个网络浏览器来比较文本,当行变得很长时它会包裹我的文本,我想删除它或降低我的字体大小以避免这种情况。
有人可以告诉我如何删除单词扭曲或更改字体大小web Browsers
吗?
下面的自动换行完全错过了我的比较:
据我所知,网络浏览器控件没有属性可以做到这一点。网页的呈现完全由网页本身控制。
如果您无法更改网页本身,则最好的办法是缓存本地版本并使用WebBrowser.Document.ExecCommand()
. WebBrowser.Document.InvokeScript()
也可以,但需要已经定义的 JS,所以我们必须继续手动添加脚本。
HtmlElement head = webBrowser.Document.GetElementsByTagName("head")[0];
HtmlElement script = webBrowser.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)script.DomElement;
element.text = "function adjust { document.getElementById('yourIdHere').style.whiteSpace='nowrap'; }";
head.AppendChild(script);
webBrowser.Document.InvokeScript("adjust");
只需通过查看网页的源代码找到文本的 div id 就可以了。如果它没有 div id,你可以使用其他 JS 方法(例如 getElementsByTagName)来查找它。
您无法从 Web 控件自身调整字体大小或包装文本。因此,您应该调整 Web 浏览器中元素的样式。
我在设置绿色和红色突出显示的同一位置调整了样式。
html.Append("<ins style=\"white-space:nowrap; display:inline; background:#e6ffe6;\">")
.Append(text)
.Append("</ins>");
“空白:nowrap;显示:内联;
上面的代码是我添加来删除自动换行的。
受到 Pomster's Answer 的启发,这就是我为获得最佳结果所做的事情:
String.Format("<div style='white-space:nowrap; display:inline;'>{0}</div>",text);
c# 6.0 版本:
$"<div style='white-space:nowrap; display:inline;'>{text}</div>";