0

我目前正在第一次使用 jqGrid 4.4.5 进行开发,我遇到了一个旧错误,在过去的版本中已经找到了修复,但我现在正在使用 jQuery 1.9.1 和 jqueryui 1.9.2 进行开发也是。

原始问题和修复发布在此处。我在使用这些插件的新版本时遇到了完全相同的问题,但熟悉 jQuery 1.9 的人会知道它$.browser已被弃用。这使得之前的解决方案无法使用。任何人都可以提供类似的解决方案,或者至少在新版本的插件中与此代码等效的 jqGrid 4.4.5 吗?

注意: 要添加一些之前可能没有提到的东西,这个问题可能会通过将浏览器缩放设置为 90% 或更小来重新创建。在 100% 缩放时,它可以正确渲染,但小于 100% 的任何东西都会出现问题。(我需要它以 90% 的缩放比例渲染)。

注意:我已切换回 4.3.1 以测试应用旧修复程序并且它运行良好,所以对我来说这似乎是 Chrome 的老问题。

预先感谢您在帮助我解决问题方面的帮助和努力。

亲切的问候,

彼得。

4

1 回答 1

0

您可以使用以下代码在 jquery 1.9 中的 $.browser 中创建相同的条件,并使用链接中发布的相同解决方案

您可以使用以下代码检查浏览器状况。

jQuery.uaMatch = function( ua ) {
    ua = ua.toLowerCase();

    var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
        /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
        /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
        /(msie) ([\w.]+)/.exec( ua ) ||
        ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
        [];

    return {
        browser: match[ 1 ] || "",
        version: match[ 2 ] || "0"
    };
};



matched = jQuery.uaMatch( navigator.userAgent );
     //browser = {};
     //var cursorType = evt.target.style.cursor;
       if(matched.browser.toLowerCase()=="mozilla")
        {
    }
else
{
}

否则,如果您引用 jquery 1.9 并使用 1.4 支持的代码,则意味着您可以在应用程序中引用 jquery.migrate .js 脚本文件。

http://blog.jquery.com/2013/02/16/jquery-migrate-1-1-1-released/

https://github.com/jquery/jquery-migrate/

谢谢,

湿婆

于 2013-05-13T09:08:05.583 回答