【发布时间】:2014-10-22 11:37:49
【问题描述】:
我正在尝试从 TWebBrowser 中删除滚动条和边框。我发现了大量对以下代码的引用,并且在 www.google.com 上使用时效果很好:
// Switch off scrollbars
WB.OleObject.document.body.style.overflowX := 'hidden';
WB.OleObject.document.body.style.overflowY := 'hidden';
// Switch off borders
WB.OleObject.document.body.style.borderstyle := 'none';
但是,使用 ASP.NET 生成的网页,它不再起作用。
这是 ASP.NET aspx 代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test</title>
</head>
<body bgcolor="#333333" border="0">
<form id="form1" runat="server">
<table style="width:100%;">
<tr>
<td class="style7">
<asp:Label ID="Label2" runat="server" Font-Names="Arial" Font-Size="21pt"
ForeColor="#F2F2F2" Text="Test"></asp:Label>
</td>
</tr>
</table>
</form>
</body>
</html>
...这是由 ASP.NET 应用程序生成的 HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
Test
</title></head>
<body bgcolor="#333333" border="0">
<form method="post" action="Default.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODExMDE5NzY5ZGSKCPuFcF0SPBHrn5HUkzHPVjgZoCXwtqbgbPjoAyOPAQ==" />
</div>
<table style="width:100%;">
<tr>
<td class="style7">
<span id="Label2" style="color:#F2F2F2;font-family:Arial;font-size:21pt;">Test</span>
</td>
</tr>
</table>
</form>
</body>
</html>
知道为什么滚动条/边框仍然可见吗?
【问题讨论】:
-
您能发布您的 DFM 的文本吗?没有任何代码,如果我将页面加载到 350 高 x 500 宽的 WebBrowser 中,Aligh = alNone,我没有水平滚动条,只有一个没有拇指的垂直滚动条,而使用 Align = alTop,我没有得到任何滚动条。
-
你在什么IE模式下运行TWebbrowser(即FEATURE_BROWSER_EMULATION)?
-
@MartynA - 我现在在家,所以无法发布代码,但在我的测试应用程序中它非常简单。只是一个 TWebBrowser 放在一个带有 2 个按钮的表单上(没有对齐设置,所有属性都保留为默认值)。一个按钮导航到 URL,另一个按钮尝试删除滚动条和边框。
-
@whosrdaddy - 我不确定 IE 正在运行什么模式,但我没有更改任何内容,所以它必须是默认模式。
-
所以这基本上意味着您的页面默认在 IE7 兼容模式下运行。尝试添加链接文章中所述的注册表项,看看是否可以解决您的问题...
标签: asp.net delphi internet-explorer-11 twebbrowser delphi-xe6