Скрипт для разворачивания скрипта

zirigor

Писатель
Регистрация
3 Июн 2012
Сообщения
5
Реакции
0
Собственно хочу сделать скрипт типа аккордеон
но чтобы разворачивался не текст а другие скрипты

с текстом проблем не обнаружил, а вот попытки вставить туда рабочий скрипт успехом не увенчались
 
А если предварительно все теги скрипта преобразовать в html сущности?
В PHP это можно сделать, например так: $ValidScript=strip_tags(trim(htmlentities($Script, ENT_QUOTES)));
Где $Script содержит текст скрипта...
 
прочитал про соответствующую функцию
Для просмотра ссылки Войди или Зарегистрируйся
но, если не ошибаюсь, при преобразовании тегов скрипта в html они теряют свою программную значимость, тоесть перестают работать
как вариант, преобразовать в html, а уже в самой ячейке, будучи уже в аккордеоне. раскрыть эти строки, как скрипт, но в плане реализации пока не знаю как это осуществить

реально ли это сделать к примеру через extract
 
Если нужно подгрузить и выполнить js скрипт, то может быть подойдёт $.getScript
Подробнее - Для просмотра ссылки Войди или Зарегистрируйся
 
Я что-то не понял чего конкретно вы добиваетесь? Вам нужно отобразить содержимое (текст) скрипта и там же показать пример работы скрипта или как?
 
Хорошо постараюсь объяснить
Хочу сделать возможность комментирования на сайте как через социальные сервисы, так и через сам сайт, но помещать все строки разом выглядит уж больно не симпатично, поэтому на ум пришла идея сделать это в виде аккордеона
За основу, к примеру, возьмем способ реализации данной затеи с этого сайта
Для просмотра ссылки Войди или Зарегистрируйся

но если вместо текста вставить скрипт комментариев социальных сетей - ничего не получится, то есть если сделать вот так:

PHP:
<html>
<head>
 
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ru_RU/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
 
 
 
 
<style>
body {
    font: 13px Arial, Helvetica, sans-serif;
    color: #1e1e1e;
}
#container {
    width: 600px;
    margin: 20px auto;
}
#accordion .item {
    width: 400px;
    height: 30px;
    overflow: hidden;
 
    transition: height ease-in-out 500ms;
    -o-transition: height ease-in-out 500ms;
    -moz-transition: height ease-in-out 500ms;
    -webkit-transition: height ease-in-out 500ms;
 
    border: 1px solid #ccc;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
 
    margin-bottom: 2px;
}
#accordion a {
    display: block;
    height: 20px;
    line-height: 20px;
 
    background: #e6e6e6;
    padding: 5px;
    color: #1e1e1e;
    text-decoration: none;
}
#accordion p {
    height: 150px;
    padding: 5px;
}
#accordion div:hover {
    height: 180px;
}
#accordion div:hover a {
    border-bottom: 1px solid #ccc;
    font-weight: bold;
}
</style>
 
 
</head>
<body>
 
<div id="container">
  <div id="accordion">
    <div class="item">
      <a href="#">Комментирование через VK</a>
      <p>
  ...
      </p>
    </div>
    <div class="item">
      <a href="#">Комментирование через Face</a>
      <p>
      <div class="fb-comments" data-href="http://example.com" data-num-posts="2" data-width="470"></div>
      </p>
    </div>
  </div>
  </div>
</div>
 
 
 
</body>
</html>

Повозившись с кодом, я, увы, самостоятельно не смог настроить данную возможность, по сему обращаюсь :)
 
Назад
Сверху