JQuery tablesorter pager plugin doesn't work p

2020-05-31 10:04发布

If you are using the Tablesorter Jquery plugin with the pager add on the table will not display any of the data. The data is there but it is hidden.

I suspect the browser feature detection method of the plugin can't handle IE11.

Anyone else run into this?

4条回答
欢心
2楼-- · 2020-05-31 10:32

We have the same problem. I've submitted a ticket directly to Microsoft.

Wait... and see...

https://connect.microsoft.com/IE/feedback/details/806279/bug-when-sorting-with-a-jquery-plugin

查看更多
冷血范
3楼-- · 2020-05-31 10:32

One simple soltion - change the line in jquery.tablesorter.js from if($.browser.msie) to:

if(/msie/.test(navigator.userAgent.toLowerCase()) || window.navigator.userAgent.indexOf("Trident/7.0") > 0) works for me.

/msie/.test(navigator.userAgent.toLowerCase()) detects IE version 10 or below. window.navigator.userAgent.indexOf("Trident/7.0") > 0 detects IE 11.

查看更多
虎瘦雄心在
4楼-- · 2020-05-31 10:37

It seems that IE11 have a problem with his userAgent. A turnaround is to change clearTableBody function (working in jquery.tablesorter-2.0.3.js) like this :

this.clearTableBody = function (table) {
    //if ($.browser.msie) {
        function empty() {
            while (this.firstChild) this.removeChild(this.firstChild);
        }
        empty.apply(table.tBodies[0]);
    //} else {
    //    table.tBodies[0].innerHTML = "";
    //}
};
查看更多
劫难
5楼-- · 2020-05-31 10:46

This is in a way due to Internet Explorer 11 having a user agent string that doesn't include "MSIE", so jQuery doesn't identify it properly (see this question).

But really, the TableSorter Pager code doesn't need to know which browser is running the code. Change the function clearTableBody to leverage jQuery's cross-browser implementation instead:

this.clearTableBody = function(table) {
    $(table.tBodies[0]).empty();
};

I have tested this in IE8, IE9, IE11, Chrome 31 and Firefox 24.

(And just now, I found a GitHub repo with a fork of TableSorter that has possibly fixed this already: https://github.com/Mottie/tablesorter)

查看更多
登录 后发表回答