2010-03-28 23 views
7

Hola a todos, estoy desarrollando una aplicación de chat ... tengo varias ventanas de chat ... quiero saber qué mensaje contiene nuevo mensaje ... tienen el siguiente código ..window.focus(), self.focus() no funciona en 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(); 

       } 
      } 
    }); 
} 

Si un operador asistir tanto el chat ....

por ejemplo, la dirección URL es como 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

si el user 16 introducir un mensaje que necesito enfocarme

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

Este código se funcionan bien con IE pero no en Firefox ... por favor, dame una solución ... el código anterior se encuentra en la mismo html

+1

No veo cómo eso puede funcionar en IE; 'self' no está definido en el código citado. Si se define en otro lugar, es mejor mostrarlo ya que es importante saber a qué se refiere. –

+0

auto o ventana funciona en IE –

+0

¿De qué manera "... quiero saber qué ventana contiene un nuevo mensaje ..." se relaciona con 'focus' que no está haciendo lo que esperaba? (Además, ¿puedes explicar más lo que quieres decir con eso?) –

Respuesta

11

Firefox solo obedecerá las solicitudes para abrir una ventana si se establece una opción de seguridad y no está configurada de manera predeterminada. Chrome no presta atención a las solicitudes de focus(), por lo que yo sé. Safari obedece la solicitud de enfoque().

La configuración específica de Firefox está en el cuadro de diálogo "Herramientas" -> "Opciones" ("Editar -> Preferencias" en Linux, tal vez en MacOS). Hay una pestaña de "Contenido", y en eso hay una casilla de verificación para habilitar Javascript. Junto con que es un botón "Avanzado" que abre otro cuadro de diálogo, donde se encuentra una casilla de verificación para permitir (o no permitir) la elevación y bajada de ventanas por código de página.

edición: Aquí es una página de prueba: http://gutfullofbeer.net/focus1.html y usted debería ser capaz de ver que Firefox se plantear una ventana cuando la página llama window.focus(). Debe configurar el navegador para que las ventanas nuevas (creadas con window.open()) se abran en una nueva ventana separada en lugar de una pestaña, o bien puede abrir la pestaña de la página secundaria cuando se abra.

+2

ya habilité eso ... pero no uso .... todavía no enfoco usando window.focus() –

+0

Bueno, entonces debes estar haciendo algo mal, porque definitivamente funciona.¿Ha intentado emitir una "alerta()" cuando cree que su llamada a "window.focus()" está teniendo lugar? – Pointy

+0

alert is working, self.blur(), working, window.moveTo() todos estos funcionan: (... if alert() funciona, entonces la ventana se enfoca pero mi cliente no quiere eso;) –

Cuestiones relacionadas