【发布时间】:2008-12-11 17:03:23
【问题描述】:
更新 1:
无法在同事的计算机上重现此问题(与我的设置相同),因此我认为这是我的工作站的问题,而不是一般的问题。
如果有人能解决这个问题,我将不胜感激,因为我自己没有足够的声誉来解决这个问题。
@马修马丁。感谢您的 cmets :-)
更新 2:
与我的同事不同,我的机器上安装了 VS90sp1-KB945140-ENU.exe (SP1) 和 VS90SP1-KB957912-x86.exe(JS Intellisense 修补程序)。这似乎是我们设置之间的唯一区别。我删除了它们,但这并没有解决我的问题。
在我的 asp.net (C#) 页面中有一点点 Javascript,用于在用户调整窗口大小时调整对象的大小。
当我在我的 DEV 服务器 (IIS) 上使用 IE6 访问该页面时,它工作。
当我使用 F5 或 CTRL-F5(两者都启动 ASP.NET 开发服务器)通过 VS2008 使用 IE6 访问页面时,它失败。它似乎进入了一个调整大小的无限循环,adjSpreadsheetSize 函数触发了 window.resize 事件,该事件调用了adjSpreadsheetSize ... 无限重复
我看到很多人抱怨 IE6 无法正确处理 onresize 事件,但似乎没有人遇到这个确切的问题。
知道为什么这段代码可以在 IIS 上运行,但不能在 ASP.NET 开发服务器上运行吗?
这是代码的相关部分:
[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>
我的设置:
- WinXP Pro SP2
- Microsoft Visual Studio 2008 版本 9.0.21022.8 RTM
- 安装版:专业版
- Microsoft Visual Basic 2008
- Microsoft Visual C# 2008
- Microsoft Visual C++ 2008
- Microsoft Visual Studio 2008 Office 工具
- Microsoft Visual Web Developer 2008
- Crystal Reports Basic for Visual Studio 2008
- Microsoft .NET Framework 3.5 SP1 版
- 网站项目位于 DEV 服务器上(映射为本地驱动器)
【问题讨论】:
标签: c# asp.net javascript visual-studio internet-explorer