Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.07.2019, 12:36
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

IE ругается при подключении внешнего файла
Есть модальное окно, в нем ссылка на вызов еще одного окна с политикой конфиденциальности.

Во всех браузерах работает нормально, но в IE не работает, в консоли ошибка "Недопустимый знак". Ругается на тильду. Но пробовал кавычки и одинарные и двойные, но тоже ругается.

Как победить это? Или подскажите другое решение, как подключить внешний файл с кодом модального окна.


вызов:
<a data-toggle="modal" data-target=".privacy_policy">Политика конфиденциальности</a>


код подключаемого файла:
function newModal() {
	var newModal = `
<div class="modal fade privacy_policy" tabindex="-1" role="dialog">
  <div class="modal-dialog md-custom" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>        
        <h4 class="modal-title">Политика конфиденциальности</h4>
      </div>      
      <div class="modal-body">
	  
<p>Любая информация, переданная Сторонами друг другу при пользовании ресурсами Сайта, является конфиденциальной информацией.</p>
<p>....</p>
<p>....</p>
...
<button type="button" class="more buttons blue" data-dismiss="modal" aria-hidden="true">Закрыть</button>	  
	  </div>
    </div>
  </div>
</div>
  `;
  $('body').append(newModal);
}

$('a').on('click', newModal);



Вот подобный пример:
https://jsfiddle.net/vh88u4uh/

Последний раз редактировалось ozoro, 28.07.2019 в 13:00.
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2019, 13:11
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

А так работает там? https://jsfiddle.net/fzymr5jg/
Ответить с цитированием
  #3 (permalink)  
Старый 28.07.2019, 13:36
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

Malleys,
Да, так работает. Но мне нужно чтобы подключалось из внешнего файла, чтобы не захламлять исходный код.

Код модального окна с политикой конфиденциальности не нужен в исходном коде. Сам текст политики - целая "простыня" и никак не относится к тематике сайта. Зачем его тащить на все страницы сайта. Для SEO не айс.

Последний раз редактировалось ozoro, 28.07.2019 в 13:47.
Ответить с цитированием
  #4 (permalink)  
Старый 28.07.2019, 14:01
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от ozoro
Но мне нужно чтобы подключалось из внешнего файла, чтобы не захламлять исходный код.
Cоздайте /privacy_policy.html с HTML-кодом
код подключаемого файла:
$(function(){
	$.ajax("/privacy_policy.html", {
    success: function(html) {
      function newModal() {
        $('body').append(html);
      }
      $('button').on('click', newModal);
    }
  });
});
Ответить с цитированием
  #5 (permalink)  
Старый 28.07.2019, 14:11
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

ozoro, а проблема в том, что только `` поддерживает переносы в строке. Но ie не понимает ``. Обычные же кавычки, соответственно, переносы не поддерживают, так что просто заменив одни на другие - получаешь невалидный в принципе код.
Чтоб заработало твоё решение - надо нарубить строку. Но лучше конечно использовать вариант Malleys, и хранить html отдельно как html.
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 28.07.2019, 14:31
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

Malleys,
Благодарю, все заработало.
Ответить с цитированием
  #7 (permalink)  
Старый 28.07.2019, 15:56
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

Malleys,
Не подскажешь еще. Я вызываю модальное окно из другого модального окна. При открытии первого модального окна в инспекторе появляется код из privacy_policy.html
<script type="text/x-template" id="modal-template">код мод. окна</script>


Если закрыть это окно и открыть вновь, то уже получается:
<script type="text/x-template" id="modal-template">код мод. окна</script>
<script type="text/x-template" id="modal-template">код мод. окна</script>


Если несколько раз так сделать, то будет много строк:
<script type="text/x-template" id="modal-template">код мод. окна</script>
<script type="text/x-template" id="modal-template">код мод. окна</script>
<script type="text/x-template" id="modal-template">код мод. окна</script>
<script type="text/x-template" id="modal-template">код мод. окна</script>
<script type="text/x-template" id="modal-template">код мод. окна</script>
<script type="text/x-template" id="modal-template">код мод. окна</script>
....


Как удалить дубликаты этого кода при закрытии первого модального окна, оставив только один. Но не удалять при закрытии окна с политикой конфиденциальности?

Или просто удалять при закрытии первого окна, но не удалять при закрытии окна с политикой конфиденциальности?

Последний раз редактировалось ozoro, 28.07.2019 в 15:58.
Ответить с цитированием
  #8 (permalink)  
Старый 28.07.2019, 16:47
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Создайте элемент на странице, куда должен вставляться HTML, например, <div id="my-modal"></div>

Далее вместо добавления в body
Сообщение от Malleys
$('body').append(html);
вставляйте в тот элемент
$('#my-modal').html(html);


А удалить, можно так
$('#my-modal').empty();
Ответить с цитированием
  #9 (permalink)  
Старый 28.07.2019, 17:10
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

Malleys,
Благодарю, так даже и удалять не нужно, ничего лишнего, только один раз вставляется.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение скриптов из внешнего файла feelman Общие вопросы Javascript 19 29.05.2010 21:21
Проблема при подключении яваскрипта cyberx AJAX и COMET 16 16.04.2010 16:13
При подключении скрипта, перестают работать другие скрипты 365441010 Элементы интерфейса 1 30.01.2010 09:25
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17
подключение внешнего файла Быколай Общие вопросы Javascript 1 24.07.2008 10:38