【问题标题】:Jquery Switching browser instancesJquery 切换浏览器实例
【发布时间】:2010-03-11 16:21:50
【问题描述】:

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

我已在

中添加了警报
jQuery.extend({
   isReady: false,
   readyList: [],
   // Handle when the DOM is ready
   ready: function() {}
});

我在就绪列表的末尾放置了一个警报,当此警报触发时,实例切换不会发生。 任何想法都会很棒。

要清楚,我说的实例切换类似于按alt-tab。

问候

约翰

【问题讨论】:

  • 多么奇怪。您是否尝试过使用其他浏览器组合?
  • 不只是 FF(最新)和 IE(7/8)。我在互联网上的任何地方都找不到任何提及。这有点令人沮丧,因为很难确定它何时发生。

标签: jquery browser switch-statement


【解决方案1】:

我们正在使用一个名为 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)

【讨论】:

    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多