原有 detector 代码在缓存页面元素的 id 和 name
属性值的时候可能没有抓取所有的 id 和 name。
造成这个问题的原因是:
原有的检测机制是在第一次调用 getElementById 或 getElmenetsByName
时使用 querySelectorAll 方法得到页面所有拥有 id 和 name
属性的元素,并缓存 id 和 name 属性值;在下次调用
getElementById 或 getElmenetsByName 时直接同参数和缓存里的 id 或
name
比较。但如果这两个方法的调用出现在页面载入过程中,缓��
�中的 id 和 name 就只有已加载的元素的对应值。
解决方案:
仍然使用缓存,在页面没有载入完成前保存所有调用
getElementById 或 getElmenetsByName
的参数值,在页面载入完成后获取并缓存页面中所有的 id 和
name 值,并根据条件报告问题。
Original issue reported on code.google.com by wangju...@beyondsoft.com on 26 Jan 2011 at 9:55
Original issue reported on code.google.com by
wangju...@beyondsoft.com
on 26 Jan 2011 at 9:55