gpt4 book ai didi

javascript - IE7 excanvas -- $(document).ready() 和 IE7 产生问题

转载 作者:行者123 更新时间:2023-11-30 06:03:45 25 4
gpt4 key购买 nike

编辑:我已经确定了以下问题的链接,即使用 $(document).ready() 而不是使用 body 的老式 onload 属性

问题

在 IE7 中, Canvas /excanvas 在您点击重新加载之前不会呈现——我已经多次清除缓存,结果是一致的。

Canvas 在初始页面加载时始终为空,并出现错误“对象不支持此属性或方法”——一条引用 .getcontext() 调用的消息。但是,一旦我点击重新加载,它就会神奇地起作用。总是在重新加载后......它有效。从来没有通过任何其他方式到达该页面是否有效。初始页面加载总是出错。

“初始页面加载”是指当页面从点击的链接、手动输入地址栏或通过后退/前进按钮加载时。

这是一个复制品: http://www.trevorsimonton.com/canvas_problem/example7.html

请注意,其中有很多额外的 Javascript 可以重现此问题起源的 Drupal 环境。


代码

我正在使用 excanvas r3 -- http://code.google.com/p/explorercanvas/downloads/detail?name=excanvas_r3.zip和 Drupal 6

编辑:我删除了一堆我拥有的代码,因为我在网站上有 2 个地方完全不同地处理 Canvas 。我能够在上面的目的地重现问题 (http://www.trevorsimonton.com/canvas_problem/example7.html)


问题的根源

有谁知道更多有关 excanvas 或 IE7 的行为如何触发此类问题的信息?除了浏览器的缓存之外,还有什么可能导致页面在“重新加载”命令和其他任何命令之间加载不同?

最佳答案

因为这是 Drupal 6,所以我使用的是 Jquery 1.3.2

显然 $(document).ready() 在 excanvas 真正准备好之前触发。虽然在大多数浏览器中情况并非如此,但 IE 当然会有所不同。

IE7 需要所有对 getContext() 的调用都源自传递到 body 标记的 onready 属性的函数。

在 drupal 中执行此操作有点棘手,但我只是将其硬编码到页面模板中。如果您想要完整的操作方法,请参阅:excanvas and JQuery 1.3.2 document ready don't get along

关于javascript - IE7 excanvas -- $(document).ready() 和 IE7 产生问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6589307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com