svg4everybody polyfill html html5 svg cross-domain embed

html - polyfill - svg4everybody



Problema de dominio cruzado de la URL del archivo en Chrome: inesperado (1)

El problema es sobre Chrome lanzando Cross Domain Error al usar la URL del archivo

Estoy incrustando un documento svg en un HTML utilizando la etiqueta de objeto con el atributo de datos en forma de ruta relativa, al momento del evento onload quiero obtener el SVGDocument usando getSVGDocument ().

Estoy accediendo al archivo html usando url de archivo, cuando se llama a getSVGDocument, Chrome da un error de dominio cruzado. Chrome realmente integra el SVG pero getSVGDocument no devuelve el DOM para el SVG

El error de Chrome es "intento de JavaScript inseguro para acceder al marco con el archivo URL: /// C: /MyFiles/website/Dir1/a.svg desde el marco con el archivo URL: /// C: / Mis archivos / sitio web / Dir1 / índice. html Los dominios, protocolos y puertos deben coincidir ".

Como puede ver, la ruta base es la misma tanto para html como para el documento incrustado, ¿por qué Chrome lanza este error?


Estás accediendo a las limitaciones cruzadas de seguridad de dominio / archivo de Chrome.

Puedes inhabilitar esto siguiendo las instrucciones en Deshabilitar la misma política de origen en Chrome y los detalles en Cómo puedo acceder y la política de origen en Chrome ya que no estoy usando un servidor sobre cómo iniciar Chrome con estos desactivados.

Sin embargo, una palabra de advertencia: se llaman "limitaciones de seguridad" por alguna razón, así que no sigas aplicando esto cuando navegues por sitios de terceros. Esto es extremadamente peligroso para apagar mientras navegas por la web normalmente. Por ejemplo, con esta opción desactivada, ahora puedo realizar solicitudes en su nombre a sitios como gmail.com, facebook.com y yourbank.com, y sus cookies estarán configuradas, lo que me permitirá enmascararme como usted mismo.

Si todavía lo necesita, debe ejecutar Chrome con el indicador --disable-web-security :

chrome --disable-web-security # unix/linux only

Si necesita instrucciones cruzadas del sistema operativo sobre cómo aplicar la bandera, consulte http://www.chromium.org/developers/how-tos/run-chromium-with-flags .