Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.05.2017, 23:08
Аспирант
Отправить личное сообщение для rodiony4 Посмотреть профиль Найти все сообщения от rodiony4
 
Регистрация: 26.10.2015
Сообщений: 97

Вставить в див - js-код яндекс карты
Здравствуйте
Нужно по клику по ссылке, вставить в див - js-код яндекс карты
Так не получилось, пожалуйста, помогите
<script type="text/javascript">
zzz = '<script charset="utf-8" src="https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&amp;width=600&amp;height=450&amp;lang=ru_RU&amp;sourceType=constructor" type="text/javascript"></script>';
$( "#cap_map" ).click(function() {
		$('.cap_site_map').html(zzz);
});
</script>

<span id="cap_map">показать</span>
<div class="cap_site_map"></div>
Ответить с цитированием
  #2 (permalink)  
Старый 29.05.2017, 23:17
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<head>
	<meta charset="utf-8">
</head>
<body>
	<span id="cap_map">показать</span>
	<div class="cap_site_map"></div>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
		var zzz = '<script charset="utf-8" src="https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&amp;width=600&amp;height=450&amp;lang=ru_RU&amp;sourceType=constructor" type="text/javascript"><\/script>';
		$( "#cap_map" ).click(function() {
		$('.cap_site_map').html(zzz);
	});
</script>
</body>
Ответить с цитированием
  #3 (permalink)  
Старый 29.05.2017, 23:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

rodiony4,
в документации наверняка есть, более корректные примеры ... но можно так
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
$( "#cap_map" ).click(function() {
    var s = $("<script\>")
    $('.cap_site_map').empty().append(s);
    s.attr({src: "https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&amp;width=600&amp;height=450&amp;lang=ru_RU&amp;sourceType=constructor"})
});
});
  </script>
</head>

<body>
<span id="cap_map">показать</span>
<div class="cap_site_map"></div>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 29.05.2017, 23:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Мой саблайм вот на это просто ругался.
constructor" type="text/javascript"></script>
Ответить с цитированием
  #5 (permalink)  
Старый 30.05.2017, 00:00
Аспирант
Отправить личное сообщение для rodiony4 Посмотреть профиль Найти все сообщения от rodiony4
 
Регистрация: 26.10.2015
Сообщений: 97

j0hnik, рони, у меня старая библиотека jquery-1.6 и использовать более новую пока не могу (джумла, и многие компоненты, плагины и модули заточены на старую библиотеку)
Есть вариант для jquery-1.6? со старой jquery-1.6 ваш js не выполняется

Последний раз редактировалось rodiony4, 30.05.2017 в 00:29.
Ответить с цитированием
  #6 (permalink)  
Старый 30.05.2017, 00:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от rodiony4
Есть вариант для jquery-1.6?
проще без jquery совсем, но если хочется ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
  <script>
$(function() {
$( "#cap_map" ).one("click",function() {
    var s = document.createElement("script");
    $('.cap_site_map')[0].appendChild(s);
    s.src= "https://api-maps.yandex.ru/services/constructor/1.0/js/?sid=vcnFFhOJuYXv6CT5peVIb3cADSfa6GLS&amp;width=600&amp;height=450&amp;lang=ru_RU&amp;sourceType=constructor"

});
});
  </script>
</head>

<body>
<span id="cap_map">показать</span>
<div class="cap_site_map"></div>
</body>
</html>

Последний раз редактировалось рони, 30.05.2017 в 00:34.
Ответить с цитированием
  #7 (permalink)  
Старый 30.05.2017, 00:47
Аспирант
Отправить личное сообщение для rodiony4 Посмотреть профиль Найти все сообщения от rodiony4
 
Регистрация: 26.10.2015
Сообщений: 97

рони, спасибо! теперь js выполняется, увидел ваш добавленный .one, но наверное можно и так - перед вставкой очищать див - .empty()
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить innerHTML в див с именем rodiony4 Элементы интерфейса 2 02.01.2016 03:51
Что именно делает код Яндекс метрики? GDR Events/DOM/Window 9 18.08.2014 23:37
Вывод значения в переменную PHP. Яндекс Карты API romaalupka Серверные языки и технологии 2 05.02.2013 21:58
Можно ли как то вставить произвольный код в texarea foreach jQuery 3 30.08.2011 00:59
как js вставить в теги? catsys Элементы интерфейса 0 30.08.2009 03:28