2009-06-10 7 views
3

У меня возникла проблема с небольшим веб-приложением, которое я разрабатываю: мой HTML-источник будет интегрирован в источник HTML на другом сайте. Я использую карту Google в своем коде, поэтому мне нужно передать API-ключ для загрузки скрипта Google Maps в текущем домене.Могу ли я изменить/установить ключ API Карт Google динамически с помощью JavaScript?

Проблема: Мой код будет интегрирован в два разных домена, требующих двух разных API-ключей. У меня есть эти два ключа и я могу определить действительный с помощью JavaScript (с помощью document.location.host), но как я могу управлять динамической загрузкой скрипта с помощью правильного ключа?

Для справки: ключ передается в качестве параметра в загрузочном скрипт URL:

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

ответ

5

Использование

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

Заменить все, с источником сценария вы хотите использовать

+1

Почти, за исключением того, что он должен быть document.getElementsByTagName ("head") [0] вместо document.head –

+0

Ответ на iphone. Было немного сложно проверить. Спасибо –

+0

А, спасибо, это должно было быть более или менее очевидным. (И для селектора: ну, jQuery для этого удобна ...) –

0

Я просто blogged a would-be solution to this problem. Взгляните и дайте мне знать, что вы думаете. Это процессор контекста, который динамически загружает ключ на основе домена в запросе.

+1

Ссылка не работает ... – MDT