2009-06-10 16 views
3

Ich stehe vor einem Problem mit einer kleinen Webanwendung, die ich entwickle: Meine HTML-Quelle wird in die HTML-Quelle auf einer anderen Seite integriert. Ich verwende eine Google Map in meinem Code, daher muss ich einen API-Key übergeben, um das Google Maps-Skript auf die aktuelle Domain zu laden.Kann ich den Google Maps API Key dynamisch von JavaScript aus ändern/einstellen?

Das Problem: Mein Code wird auf zwei verschiedenen Domains integriert und erfordert zwei verschiedene API-Keys. Ich habe diese zwei Schlüssel und kann die gültige durch JavaScript (mit Hilfe von document.location.host) identifizieren, aber wie kann ich es schaffen, das Skript dynamisch mit dem richtigen Schlüssel zu laden?

Zum Vergleich: Der Schlüssel wird als Parameter im Skript Laden url übergeben:

<script src="http://maps.google.com/maps?file=api&v=2&key=abcdefg" type="text/javascript"> 
</script> 

Antwort

5

Verwenden

var script = document.createElement("script"); 
script.setAttribute("src",whatever); 
document.getElementsByTagName("head")[0].appendChild(script); 

ersetzen, was mit dem Skript Quelle Sie

+1

Fast, außer es muss document.getElementsByTagName ("Kopf") sein [0] anstelle von document.head –

+0

Antworten auf ein iPhone. War ein bisschen schwer zu überprüfen. Danke –

+0

Ah, danke, das sollte mehr oder weniger offensichtlich sein. (Und für den Selektor: Nun, jQuery ist irgendwie bequem dafür ...) –

0

verwenden möchte ich nur gebloggt a would-be solution to this problem. Werfen Sie einen Blick und lassen Sie mich wissen, was Sie denken. Es ist ein Kontextprozessor, der den Schlüssel basierend auf der Domäne in der Anforderung dynamisch lädt.

+1

Der Link funktioniert nicht ... – MDT