2012-06-21 47 views
1

我们有一个ASP应用程序位于页面上的iframe中,该页面创建员工的电话号码簿。你可以在这里看到:大的iframe高度导致锚标签不起作用?

http://www.cecil.edu/Directory/

这是坐在被设置为6350px高的iframe中。当你点击字母表中的一个字母链接时,它应该跳转到页面上的那个字母。它似乎只能在Chrome和Safari中正常工作。没有骰子与IE 7/8/9或Firefox。

这以前工作得很好,至少在IE8中,但在某些时候停止工作。做了一些摆弄,我发现如果我把iframe的高度降低到4000px左右,锚标签就可以工作。但是任何超出这个范围的行为都会让他们表现得异乎寻常,把你带到页面上的错误位置或根本不工作。

有没有人有这样的怪异行为的大iframe高度的知识?我似乎无法在网上找到任何关于它的参考。

+0

好了,玩这个多一些后,这里发生的事情:iframe要见底。所以可以说我把它设置为5000px高。我可以点击字母表中的字母,这些锚点将工作到某一点(在5000px的情况下,它停止在'E'处工作)。但是一旦iframe的滚动条到达底部,锚就停止工作。所以IE/Firefox认为这个位置已经在屏幕上显示出来了。 Chrome/Safari正确处理此问题。看到在浏览器级别这是一个问题,我想没有办法解决它。 – jtorre

+0

嗨,你有没有找到解决方案?我看到你的网站现在正在用“M”字母工作。我有类似的问题。谢谢! – orique

+0

没关系。我看到:https://developer.mozilla.org/en-US/docs/Web/API/element.scrollIntoView来救援。 – orique

回答

0

当IE使用Direct-X渲染对象时(例如使用css过滤器时),由于12位寄存器的最大尺寸,任何轴的尺寸都不能大于4906像素。虽然这个可能是是IE中限制的解释,但它并没有解释Firefox的限制。

参见:IE display transparency bug on height > 4096px?

+0

感谢您的回复。虽然看了这个,但这不是问题。但通过你的建议,我确实发现了正在发生的事情。在上面添加注释并提供详情... – jtorre