更新1:
无法在同事的计算机上重现这一点(与我的设备相同)因此我认为这是我的工作站的问题,而不是一般问题。
如果有人愿意关闭这个问题,我会很感激,因为我自己没有足够的声誉。
@MatthewMartin。感谢您的评论: - )
更新2:
与我的同事不同,我的计算机上安装了 VS90sp1-KB945140-ENU.exe(SP1)和 VS90SP1-KB957912-x86.exe (JS Intellisense修补程序)。 出现是我们设置之间的唯一区别。我删除了它们,但这并没有解决我的问题。
在我的asp.net(C#)页面中,有一点Javascript可以在用户调整窗口大小时调整对象的大小。
当我在DEV服务器(IIS)上使用IE6访问页面时,正常工作。
当我使用IE6通过VS2008使用F5或CTRL-F5(两者都启动ASP.NET开发服务器)访问页面时,失败。它似乎进入一个无限循环的大小调整,adjSpreadsheetSize
函数触发window.resize事件,调用adjSpreadsheetSize
...无限重复广告
我看到很多人抱怨说IE6无法正常处理onresize事件,但似乎没有人有这个确切的问题。
知道为什么这段代码可以在IIS上运行但不能在ASP.NET Development Server上运行?
以下是代码的相关部分:
[snip]
<head>
[snip]
<script language="javascript" type="text/javascript">
window.onresize = adjSpreadsheetSize;
window.onload = pageSetup;
//Change spreadsheet size to fill the window (viewport) below the entry form
function adjSpreadsheetSize() {
var objSS = document.getElementById("OWC_data");
var winWidth = document.documentElement.clientWidth;
var winHeight = document.documentElement.clientHeight;
winHeight -= document.getElementById('form_body').offsetHeight;
objSS.height = winHeight;
objSS.width = winWidth;
return false;
}
function pageSetup() {
adjSpreadsheetSize();
}
</script>
[snip]
</head>
<body>
<form id="form1" runat="server" action="rawdata.aspx" method="get">
<div id="form_body">
[snip]
</div>
</form>
<div id="OWC_container">
<object id="OWC_data" classid="clsid:0002E559-0000-0000-C000-000000000046">
</object>
</div>
我的设置:
答案 0 :(得分:0)
由于这是您尝试加载的activex对象,可能您的MSIE已配置为信任http://localhost超过http://localhost:1235/foo?
与IIS与ASP.NET Development Server的其他差异:
IIS只将一些文件转换为aspnet过滤器,ASP.NET dev服务器全部转为IIS。
此外,有时端口#的更改将改变行为。
答案 1 :(得分:0)
我添加了
alert("Viewport: " + document.documentElement.clientHeight + " - formHeight: " + formHeight + " = " + winHeight);
由于某种原因,div“form_body”在“421”和“435”之间来回翻转(14的差异)。所以我添加了一个边框来尝试查看更改发生的位置...
<div style="border: solid 1px red;" id="form_body">
当边界在那里时,调整大小有效。轻松可重复...添加边框样式,并调整大小3到5次。取下边框,只要我小心坐下来看它就反复点火。
WTF?