2010-03-28 5 views
7

Herkese selam bir sohbet uygulaması geliştiriyorum ... Birden çok sohbet pencerem var ... hangi mesajın yeni mesaj içerdiğini bilmek istiyorum ... i bir operatör hem sohbet katılıyor ise ..window.focus(), self.focus() firefox'ta çalışmıyor

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(); 

       } 
      } 
    }); 
} 

aşağıdaki kodu var ....

örneğin url http://localhost/nisanth/admin/Chat/index/chatId/15 http://localhost/nisanth/admin/Chat/index/chatId/16

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

user 16 bir ileti girerseniz ı Bu kod ... bana bir çözüm vermek ... Lütfen Yukarıdaki kod içinde IE ile değil içinde ateş çalışma ince

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

mesafesindedir odak gerek Aynı html

+1

Bunun IE'de nasıl çalışabileceğini anlamıyorum; alıntılanan kodda 'self' undefined. Başka bir yerde tanımlanmışsa, en iyisi bunun ne anlama geldiğini bilmek önemli olduğunu göstermektir. –

+0

kendi kendine veya pencereye IE çalışır –

+0

"... hangi pencerenin yeni mesaj içerdiğini bilmek istiyorum ...", "odak" ile beklediğiniz şeyi yapmıyor? (Ayrıca, bununla ne demek istediğini daha fazla açıklayabilir misin?) –

cevap

11

Firefox, yalnızca bir güvenlik seçeneği ayarlanmışsa bir pencere yükseltme isteklerine uyacak ve varsayılan olarak ayarlanmamıştır. Chrome, anlayabildiğim kadarıyla, focus() isteklerine hiç önem vermiyor. Safari, focus() isteğine uyuyor.

Belirli Firefox ayarları, "Araçlar" -> "Seçenekler" (Linux'ta "Düzenle -> Tercihler", belki de MacOS) iletişim kutusudur. Bir "İçerik" sekmesi var ve bunun içinde Javascript'i etkinleştirmek için bir onay kutusu var. ile birlikte, başka bir iletişim kutusunu getiren bir "Gelişmiş" düğmesiyle birlikte, pencerenin sayfa koduyla yükseltilmesi ve azaltılması için bir onay kutusu bulur.

düzenlemek

: Burada bir test sayfası: http://gutfullofbeer.net/focus1.html ve sayfa window.focus() çağırdığında Firefox bir pencere yükseltmek olacağını görmek gerekir. Tarayıcıyı yeni pencerelerin ( window.open() ile oluşturulmuş) bir sekme yerine yeni bir pencerede açılmasını sağlayacak şekilde açmanız veya açıldığında ikincil sayfanın sekmesini ayırabilmeniz gerekir.

+2

zaten bunu etkinleştirdim ... ama kullanmayın .... hala window.focus() –

+0

kullanarak odaklanma değil bir şey yapıyor olmalı yanlış, çünkü kesinlikle çalışıyor."Window.focus()" çağrısının gerçekleştiğini düşündüğünüzde bir "alert()" çıkarmayı denediniz mi? – Pointy

+0

uyarısı çalışıyor, self.blur(), çalışıyor, window.moveTo() şu işe yarar: (... eğer uyarı() çalışıyorsa, pencere odaklanır ama istemcim bunu istemez;) –