2010-03-11 49 views
0

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

我增加了一个警报到

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

我已经把警报在准备名单的末尾,在此提醒大火那么实例SWTICH不会发生。 任何想法都会很棒。

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

问候

约翰

+0

如何怪异。你有没有尝试过与其他浏览器组合? – dclowd9901 2010-03-11 17:56:55

+0

不只是FF(最新)和IE(7/8)。在互联网上的任何地方我都找不到任何提及。这有点令人沮丧,因为当它发生时很难确定。 – John 2010-03-12 09:10:01

回答

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的)