Jquery切换浏览器实例

时间:2010-03-11 16:21:50

标签: jquery browser switch-statement

我正在使用jQuery以及大量其他jQuery插件。我有一个问题,如果我有两个Firefox或IE实例打开(在Vista中),那么当我的页面加载它自动切换到其他浏览器实例(其他FF或其他IE)。如果没有第二个浏览器实例,则没有任何反应。

我已添加警告

jQuery.extend({
   isReady: false,
   readyList: [],
   // Handle when the DOM is ready
   ready: function() {}
});

我已在就绪列表的末尾发出警报,当此警报触发时,实例swtich不会发生。 任何想法都会很棒。

要清楚,我所说的实例开关类似于按下alt-tab。

此致

约翰

1 个答案:

答案 0 :(得分:0)

我们正在使用名为table.layout.js的文件,这似乎导致了这个问题。删除此文件已清除停止切换。 这个问题就是问题,抱歉,但我没有时间通过​​它进行调试。

(function($){
var initLayout = function() {
    var hash = window.location.hash.replace('#', '');
    var currentTab = $('ul.navigationTabs a')
                        .bind('click', showTab)
                        .filter('a[rel=' + hash + ']');
    if (currentTab.size() == 0) {
        currentTab = $('ul.navigationTabs a:first');
    }
    showTab.apply(currentTab.get(0));
    $('#date').DatePicker({
        flat: true,
        date: '2008-07-31',
        current: '2008-07-31',
        calendars: 1,
        starts: 1,
        view: 'years'
    });
    var now = new Date();
    now.addDays(-10);
    var now2 = new Date();
    now2.addDays(-5);
    now2.setHours(0,0,0,0);
    $('#date2').DatePicker({
        flat: true,
        date: ['2008-07-31', '2008-07-28'],
        current: '2008-07-31',
        format: 'Y-m-d',
        calendars: 1,
        mode: 'multiple',
        onRender: function(date) {
            return {
                disabled: (date.valueOf() < now.valueOf()),
                className: date.valueOf() == now2.valueOf() ? 'datepickerSpecial' : false
            }
        },
        onChange: function(formated, dates) {
        },
        starts: 0
    });
    $('#clearSelection').bind('click', function(){
        $('#date3').DatePickerClear();
        return false;
    });
    $('#date3').DatePicker({
        flat: true,
        date: ['2009-12-28','2010-01-23'],
        current: '2010-01-01',
        calendars: 3,
        mode: 'range',
        starts: 1
    });
    $('.inputDate').DatePicker({
        format:'Y-m-d',
        date: $('#inputDate').val(),
        current: $('#inputDate').val(),
        starts: 1,
        position: 'right',
        onBeforeShow: function(){
            $('#inputDate').DatePickerSetDate($('#inputDate').val(), true);
        },
        onChange: function(formated, dates){
            $('#inputDate').val(formated);
            if ($('#closeOnSelect input').attr('checked')) {
                $('#inputDate').DatePickerHide();
            }
        }
    });
    var now3 = new Date();
    now3.addDays(-4);
    var now4 = new Date()
    $('#widgetCalendar').DatePicker({
        flat: true,
        format: ' YBd',
        date: [new Date(now3), new Date(now4)],
        calendars: 3,
        mode: 'range',
        starts: 1,
        onChange: function(formated) {

            $('#widgetField span').get(0).innerHTML = formated.join(' -- ');
                            // Custom
                gDateFr=formated[0].substring(1); gDateTo=formated[1];

                       }
    });
    var state = false;
    $('#widgetField>a').bind('click', function(){
        $('#widgetCalendar').stop().animate({height: state ? 0 : $('#widgetCalendar div.datepicker').get(0).offsetHeight}, 500);
        state = !state;
        return false;
    });
    $('#widgetCalendar div.datepicker').css('position', 'absolute');
};

var showTab = function(e) {
    var tabIndex = $('ul.navigationTabs a')
                        .removeClass('active')
                        .index(this);
    $(this)
        .addClass('active')
        .blur();
    $('div.tabc')
        .hide()
            .eq(tabIndex)
            .show();
};

EYE.register(initLayout, 'init');

})(jQuery的)