2010-09-28 13 views
6

estoy usando un código similar a continuación:¿Cómo puedo comprobar si un usuario que visualiza mi sitio web no puede ver algunos contenidos y cómo puedo asegurarme de que mi prueba funcione?

var image = new Image(); 
image.src = "http://youtube.com/favicon.ico"; 
image.onload = function(){ 
// The user can access youtube 
}; 
image.onerror = function(){ 
// The user can't access youtube 
}; 

Lo que me pareció aquí: Detecting if YouTube is blocked by company/ISP

Para probar si un usuario tiene acceso a youtube/facebook/twiter, por lo que cuando trato de insertar un vídeo , o un botón similar. Sé si el usuario puede verlo. En mi lugar de trabajo cada vez que voy a un sitio web que usa un botón similar/tweet, etc., veo una pequeña porción de una página fea que me dice que el contenido está bloqueado en nuestra red. No quiero que las personas que visitan mi sitio vean esto.

El código anterior funciona bien para mí en mi red. Pero, ¿qué métodos puedo usar para probarlo y asegurarme de que funcionará para todos y, si no lo hace, de qué código se trataría, ya que cada lugar de trabajo/red bloquea el contenido de manera diferente?

Gracias por cualquier respuesta.

+0

El favicon.ico no es una apuesta segura. Puedo obtener el favicon de sitios web bloqueados en el trabajo. http://www.websense.com/content/home.aspx es el bloqueador de contenido. – Robert

+0

¿Tiene alguna sugerencia, Robert? ¿O se reduce a ser diferente en todas partes? – Doyle

+0

Mi sugerencia sería descartar la idea de tratar de detectar si está bloqueando, ya que no es realmente una forma infalible. – Robert

Respuesta

2

Lo que está haciendo es lo mejor que puede obtener. Usted respondió parcialmente cuando mencionó que "cada lugar de trabajo/red bloquea el contenido de manera diferente". Por lo que usted sabe, el proxy mediador podría devolver una página web o imagen válida cuando intente solicitar un recurso bloqueado. Esto no sería una condición de error, pero obviamente tampoco sería el contenido que esperabas. No hay una forma "segura" de saber si el contenido devuelto es correcto o no.

+0

Entonces, ¿no cree que la verificación de la altura de la imagen es válida si la imagen se ha cargado? – Doyle

+0

No, no lo es. Según mi comentario, puedo obtener 'favicon.ico', scripts, etc. bien. Mi empresa solo bloquea páginas. – Robert

+1

Si el proxy sirve su propio favicon a 16x16 daría un falso positivo. –

0

si se carga la imagen, se puede comprobar la anchura/altura de la imagen cargada contra el tamaño original de la imagen solicitada. (Debe ser 16/16 para http://youtube.com/favicon.ico)

Esto también se describe en el ligado tema

Detecting if YouTube is blocked by company/ISP

no creo que la aplicación de bloqueo solicitará la ressource originales para buscar, qué tamaño tendrá.

Cuestiones relacionadas