Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2015, 22:47
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Запутался с регуляркой
Не могу достать весь код из тега <script>
Нужно учесть переносы строк, но я вписываю \s* по всякому пробовал, ни работает

// В строке (переменной) d "содержится" куча предложений, переносов строк, пробелов а так же тег <script> в котором JS код который нужно выдернуть
d.replace(/<script type="text\/javascript">(.+)<\/script>)/mg,function(str, p1)
		{
				alert(p1);//Выводим полученный результат

			return "";
		});
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2015, 00:10
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Можешь обїяснить зачем єто извращение нужно?
Ответить с цитированием
  #3 (permalink)  
Старый 13.02.2015, 00:38
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Poznakomlus,
Через innerHTML не рекомендуется вставлять JS код, да и не везде такой подход работает, а мне нужно выдернуть весь JS до того как данные будут вставлены через innerHTML и подключить код через createElement("script")....
Ответить с цитированием
  #4 (permalink)  
Старый 13.02.2015, 00:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

zhurchik,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<script>
document.body.innerHTML.replace(/<scri[\s\S]*?>([\s\S]*?)<\/scri/mg,function(str, p1)
		{
				alert(p1);//Выводим полученный результат

			return "";
		});
</script>
</body>

</html>
Ответить с цитированием
  #5 (permalink)  
Старый 13.02.2015, 00:59
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

через через innerHTML код вставляется но не исполняется
<div id="test"></div>
<script>
  test.innerHTML = '<script>alert("Yes")<\/script>';
  var scr = document.querySelector('script');
  eval(scr.text);
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 13.02.2015, 09:54
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

рони,
Спасибо, друг)))
Ответить с цитированием
  #7 (permalink)  
Старый 13.02.2015, 09:55
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Poznakomlus,
Я знаю. Но код лучше запустить до того как будет вставлено содержимое, поэтому я решил для начала его выдернуть
Ответить с цитированием
  #8 (permalink)  
Старый 13.02.2015, 13:08
Кандидат Javascript-наук
Отправить личное сообщение для zhurchik Посмотреть профиль Найти все сообщения от zhurchik
 
Регистрация: 04.06.2011
Сообщений: 116

Poznakomlus,
Дело в том, что содержимое от сервера я получаю в виде HTML, а сделано это для того, чтобы сайт работал даже когда JS отключен (то-бишь, для поисковиков), то-есть, с таким подходом можно будет делиться ссылками и т.д., а если все это дело посадить на JSON или XML то по прямой ссылке уже не перейти.
Вообще как то так, надеюсь смог рассказать!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматирование чисел регуляркой tiho Общие вопросы Javascript 3 22.12.2013 19:59
Запутался с таблицей Raik Элементы интерфейса 3 27.12.2010 06:09
Запутался с выплывающим меню.. cardsmoney jQuery 5 13.12.2010 18:51
Немогу поставить условие, запутался nemo Серверные языки и технологии 1 30.01.2010 14:18
Вырезать регуляркой greatilya Серверные языки и технологии 17 24.07.2009 18:00