0

我知道这个问题可能听起来很模糊,但是我已经调试了一天(PHP 和 js)我们的应用程序,并且在数据生成中没有发现任何问题。

我们的应用程序使用 xajax 根据我们数据库中的数据生成列表。我们有一个特别适用于所有其他浏览器的列表:IE 7&8、Firefox 3.0.13(Linux)和 3.5.7(Win、Mac)、Opera(Win)、Chrome 4.0.249.30(Linux)和 4.0.249.78( Win)、Safari(Win 和 Mac)。但是 windows 7 和 Mac OS 10.6.2 中的 firefox 3.6 根本不会生成这个列表。

当我使用 firebug 时,包含列表的 div 完全为空

<pre>< div id="listOutput">< /div></pre>

",当它应该包含 l 列表的所有数据时!

我不知道为什么会发生这个问题,任何导致这种情况发生的线索都会有真正的帮助

谢谢



<div id = "listOutput" >
  <table class="list" >
    <tbody >
      <tr class="head" >
        <th class="noSort checkbox"><input id="selectAllRows" name="selectAllRows" title="Select all" type="checkbox" >< /th >
        <th class="ID" onclick="xajax_displayPagination(0, 20, 'id', 'ASC', xajax.getFormValues('pageForm')); xajax_displaySearch(0, 20, 'id', 'ASC', xajax.getFormValues('pageForm')); xajax_displayList(0, 20, 'id', 'ASC', xajax.getFormValues('pageForm'));"><span id="DESC">ID</span></th>
        <th class="noSort option">option< /th >
      </tr >
    </tbody >
  </table >
</div >

4

2 回答 2

0

可以与 FF3.6 的新 js 支持的这种变化有关吗?

“函数实例的原型属性不再可枚举。” https://developer.mozilla.org/en/Firefox_3.6_for_developers

于 2010-02-15T16:35:04.087 回答
0

xajax 是否使用 getBoxObjectFor(),参见https://developer.mozilla.org/en/Firefox_3.6_for_developers?如果确实如此,那可能是您的问题。我必须解决这个问题,因为 FF 3.6 一出。我们的 Infragistics 网格在某些情况下不起作用,这就是罪魁祸首。

这是我为修复它所做的。

请注意,我的修复是一个 la jQuery

$(document).ready(function() {   
    if ($.browser.mozilla && !document.getBoxObjectFor) {
        document.getBoxObjectFor = function(elem) {
            var boundingRect = elem.getBoundingClientRect();
            var doc = elem.ownerDocument;

            // top and bottom are not rounded off in Gecko1.9
            // http://www.quirksmode.org/dom/w3c_cssom.html#elementviewm
            var elemTop = Math.round(boundingRect.top);
            var elemLeft = boundingRect.left;
            var docElement = doc.documentElement;

            // clientLeft and clientTop would be 0 for Gecko1.9
            // https://bugzilla.mozilla.org/show_bug.cgi?id=174397#c34
            elemLeft += docElement.scrollLeft;
            elemTop += docElement.scrollTop;

            return { x: elemLeft, y: elemTop, width: docElement.width, height: docElement.height };
        };
    } 
});
于 2010-02-15T16:41:00.440 回答