Sé que iframed pages can tell that they are, pero ¿es posible decir dónde? parent.location
se encuentra con problemas de seguridad cuando el padre es un dominio diferente, por lo que yo sé. Cualquier trabajo alrededor?detectando dónde está iframed mi sitio
Respuesta
No, no puede acceder a la ventana padre si no está en el mismo dominio.
¿No aparecería en los registros de su servidor como referencia? Sé que no es una forma programática, pero me pregunto si solo estás tratando de rastrear a las personas que roban tu contenido.
hmm ... eso podría ayudar – sprugman
(no se trata tanto de robar como de saber dónde se está mostrando). – sprugman
(para el caso, puedo usar '$ _SERVER ['HTTP_REFERER']' en el back-end para obtener misma información más directamente.) que me llevará a una página principal, pero no a un abuelo. – sprugman
Si quieres esforzarte, puedes escribir un complemento (para todos los navegadores) o una x activa (por ejemplo) para determinar esto, ya que no están bloqueados para acceder a la computadora del cliente tanto como JavaScript ect.
Podría escribir eso, pero dudo que pueda conseguir que todos lo instalen ... – sprugman
no lo he probado, pero usted debería ser capaz de hacer algo como:
if (window.top !== window.self) {
alert("I am a frame. The parent document is " + document.referrer);
}
Gracias. Ese es esencialmente el mismo método que mencioné en mi comentario sobre la respuesta de Shane N, pero del lado del cliente. Me conseguirá un padre, pero no un abuelo. – sprugman
De hecho. Solo quería dar una respuesta clara de JavaScript a la pregunta tal como está formulada, en caso de que alguien más lo necesitara. –
- 1. ¿Dónde está mi XDeclaration?
- 2. Amigo, ¿dónde está mi columna?
- 3. ¿Dónde está mi ensamblado Microsoft.Windows.Themes?
- 4. ¿Dónde está mi namespace System.Numerics?
- 5. StyleCop-¿Dónde está mi salida?
- 6. ¿Dónde está mi archivo .vimrc?
- 7. ¿Dónde está mi directorio java?
- 8. Delphi XE: ¿Dónde está mi TValue.Equals()?
- 9. ¿Dónde está mi NSTableView en NSScrollView?
- 10. ¿Dónde está svn.exe en mi máquina?
- 11. PHP zona horaria. ¿Dónde está mi ciudad?
- 12. ¿Dónde está mi aplicación binaria en XCode?
- 13. Amigo, ¿dónde está mi instalación de Django?
- 14. Detectando si el monitor está apagado
- 15. Detectando Ajax en PHP y asegurándome de que la solicitud era de mi propio sitio web
- 16. ¿Detectando si se está reproduciendo la música?
- 17. Detectando que la pila está llena
- 18. ¿Las páginas de iframe indican cuándo están iframed?
- 19. ¿Dónde está pyside-uic?
- 20. ¿Cómo sabe dónde está mi valor en la memoria?
- 21. ¿dónde está la carpeta de mi aplicación en Android?
- 22. ¿Dónde está mi almacén de datos App Engine local?
- 23. WinDbg no me dice dónde está rooteada mi cadena
- 24. Actualización Mac OS X Java: ¿dónde está mi jdk?
- 25. ¿Dónde está SQL Profiler en mi SQL Server 2008?
- 26. ¿Dónde está mi archivo central después de segfault?
- 27. Dónde está mi carácter no válido (ORA-00911)
- 28. ¿Dónde está la documentación para Mi función en VB.Net?
- 29. Registro de Java: ¿dónde está mi archivo de registro?
- 30. ¿Dónde está Boost.Process?
¿y si soy el dueño del dominio principal, así? – sprugman
el debería funcionar. Tenga en cuenta que también los diferentes subdominios presentarán el problema del dominio cruzado. Puede solucionar esto configurando document.domain para que ambos compartan el mismo dominio. –
No estaba pensando en subdominios, tanto como dos dominios separados, pero donde controlo el contenido de ambos. – sprugman