2010-03-11 72 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的)