Pregunta

Estoy tratando de hacer uso de la API de Google como una manera de conseguir la localización del usuario. Una vez que he hecho esto, paso esto a un script PHP externa que impulsarán la producción algo de código JavaScript. Sin embargo, estoy teniendo problemas para llamar al script PHP:

<script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAKw7Q"></script
<script type="text/javascript">
    if(google.loader.ClientLocation)
    {
        visitor_countrycode = google.loader.ClientLocation.address.country_code;
    }
</script>
<script type='text/javascript' src='http://www.mysite.com/widget.php?mid=12&c=visitor_countrycode'>
</script>

Lo anterior es lo que se retreived de mi DB. Sin embargo la variable visitor_countrycode no recibe generada en el código HTML que aún contiene el "visitor_countrycode" cadena en lugar de su valor Javascript.

No puedo entenderlo.

Actualizar

De hecho, me puedo usar jQuery:

He intentado esto pero no conseguir mucho suerte con él.

$("<script type='text/javascript' scr='http://www.mysite.com/widget.php?mid=12&c="+visitor_countrycode+"'").appendTo('body');

Cualquier cosa mal con él?

¿Fue útil?

Solución

Bien, bueno esta línea:

<script type='text/javascript' src='http://www.mysite.com/widget.php?mid=12&c=visitor_countrycode'>
</script>

... es simplemente recuperar los URL, " http: // www .mysite.com / widget.php? mediados = 12 & c = visitor_countrycode ". No se está evaluando la variable. - Es que se pasa como un parámetro normal

Si quieres tomar una URL generada dinámicamente, usted tiene que crear un nuevo elemento

Otros consejos

Se puede usar un simple solicitud HTTP para llamar a ese script PHP, así, de esa manera se podría incluso tomar el resultado y hacer algo en función de si el script PHP maneja su solicitud correctamente o no.

<script type="text/javascript">
var http = false;

if(google.loader.ClientLocation)
{
    visitor_countrycode = google.loader.ClientLocation.address.country_code;

    if(navigator.appName == "Microsoft Internet Explorer") {
        http = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        http = new XMLHttpRequest();
    }

    http.open("GET", 'http://www.mysite.com/widget.php?mid=12&c=' + visitor_countrycode);
    http.send(null);
}
</script>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top