2010-03-28 5 views
7

Привет всем Я разрабатываю приложение для чата ... У меня есть несколько окон чата ... Я хочу знать, в каком ветре есть новое сообщение ... i есть следующий код ..window.focus(), self.focus() не работает в firefox

function getCount() 
{ 
    $.ajax({ 
     type: "POST", 
     url: baseUrl + '/Chat/count', 
     data: "chat_id=" + document.ajax.chat_id.value, 
     success: function(msg){ 
       if(msg == 'new1') { 
        self.focus(); 
              //window.focus(); 

       } 
      } 
    }); 
} 

Если оператор идет как чат ....

, например, URL, как http://localhost/nisanth/admin/Chat/index/chatId/15 http://localhost/nisanth/admin/Chat/index/chatId/16

http://localhost/nisanth/user/Chat/index/chatId/15 http://localhost/nisanth/user/Chat/index/chatId/16

если user 16 ввести сообщение я должен сосредоточиться

http://localhost/nisanth/admin/Chat/index/chatId/16 

Этот код отлично работает с IE, но не в Firefox ... Пожалуйста, дайте мне решение ... Вышеприведенный код находится в тот же html

+1

Я не вижу, как это работает в IE; 'self' не указан в цитируемом коде. Если это определено в другом месте, лучше всего показать, что, поскольку важно знать, что это означает для ссылки. –

+0

self или window работает в IE –

+0

Как «... я хочу знать, какое окно содержит новое сообщение ...» относятся к 'focus', не выполняя то, что вы ожидаете? (Также вы можете объяснить больше, что вы подразумеваете под этим?) –

ответ

11

Firefox выполнит только запросы на повышение окна, если установлен параметр безопасности, и он не установлен по умолчанию. Насколько я могу судить, Chrome не обратит внимания на focus(). Safari выполняет запрос focus().

Конкретный параметр Firefox находится в диалоговом окне «Инструменты» -> «Параметры» («Редактировать -> Настройки» в Linux, возможно, MacOS). На вкладке «Контент» есть флажок для включения Javascript. Наряду с - это кнопка «Дополнительно», которая вызывает диалог, в котором можно установить флажок, чтобы разрешить (или запретить) повышение и опускание окон по коду страницы.

редактировать: Вот тестовая страница: http://gutfullofbeer.net/focus1.html и вы должны быть в состоянии видеть, что Firefox будет поднять окно, когда страница вызывает window.focus(). Вы должны либо настроить браузер, чтобы новые окна (созданные с помощью window.open()) открывались в новом отдельном окне вместо закладки, иначе вы можете оторвать вкладку вторичной страницы при ее открытии.

+2

Я уже включил это ... но не использовал .... все еще не фокусируясь, используя window.focus() –

+0

Ну, тогда вы должны что-то делать неправильно, потому что это определенно работает.Пробовали ли вы выпустить «alert()», когда думаете, что ваш звонок на «window.focus()» происходит? – Pointy

+0

Предупреждение работает, self.blur(), working, window.moveTo() все эти r работают: (... если alert() работает, тогда окно становится сфокусированным, но мой клиент этого не хочет;) –

Смежные вопросы