IE6 iframe渲染问题

发布于 2024-07-25 13:36:00 字数 704 浏览 4 评论 0原文

我们在使用 IE6 时遇到了 iframe 内页面的问题。

当按下提交按钮时,页面会重新加载一些新文本,但上一页的旧文本仍然可见。 在某些地方,这会重叠,导致文本无法阅读。

最小化和最大化页面可以清除此问题,并且查看源代码仅显示新页面,而不显示任何旧文本,因此这可能只是渲染问题。

这是一个已知的 IE6 错误吗?如何解决它?

下面的 js 可以工作,但它很笨重,如果你关闭了 js,它就不起作用。

window.onload = refreshPage;
window.onscroll = refreshPage;
function refreshPage() {
var body = document.getElementsByTagName("body")[0];
body.style.display = "none";
body.style.display = "block"

还有更好的黑客吗?

谢谢,克里斯

编辑
我成功地在开发服务器上重现了该问题,我可以直接在 Web 服务器上修改页面以测试不同的场景。 注意:我无法控制 i 框架,只能控制其中的内容,因此我只能更改此页面。 有趣的一点是,如果我将 DOCTYPE 从 XHTML 1.0 Transitional 更改为任何其他内容,那么我就看不到问题。

we have an issue with IE6 with a page inside an iframe.

When a submit button is pressed, the page reloads with some new text on it but the old text from the previous page is still visible. In some places this overlaps so that the text is unreadable.

Minimizing and maximizing the page cleans this up and view source only shows the new page with none of the old text so this could only be a rendering issue.

Is this a known IE6 bug and how do you get around it?

The following js works but it's clunky and does not work if you have js switched off.

window.onload = refreshPage;
window.onscroll = refreshPage;
function refreshPage() {
var body = document.getElementsByTagName("body")[0];
body.style.display = "none";
body.style.display = "block"

Any nicer hacks?

Thanks, Chris

EDIT
I've managed to recreate the issue on a development server where I've been able to modify the page directly on the web server to test different scenarios out. Note: I do not have control of the i-frame only what's in it so I have been restricted to changing this page only. One point of interest is that if I change the DOCTYPE from XHTML 1.0 Transitional to anything else, then I don't see the problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感情洁癖 2024-08-01 13:36:00

我会尝试向 iframe 添加一个位置:相对样式 - 这有时有助于解决此类问题。 我需要查看页面结构和 CSS 才能进一步提供帮助。

乔什

i would try adding a position:relative style to the iframe - this sometimes helps with these kind of issues. i'd need to see the page structure and css to help any further.

Josh

感性 2024-08-01 13:36:00

另一种可能性是将“zoom: 1.0”添加到 iframe 的样式中。 如果这对任何人有帮助并且您想了解更多信息,请尝试在 google 中查找 Internet Explorer 中的 hasLayout 属性。 这将有助于理解为什么这是渲染问题的解决方案。

Another possibiliy is to add 'zoom: 1.0' to the style of the iframe. If this helps any and you want to know more, try looking around in google on the hasLayout property in Internet Explorer. This will be of some help in understanding why this is a solution to the rendering problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文