Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Создаю тему в "свободном общении",так как только дошло что форум по программе, а не веб-дизайну))))
Сейчас поподробнее объясню, что я имею ввиду. Мне нужно чтобы было какое-то определяющее условие для появления плеера на сайте, когда я загружаю формат mp3, и плеера не было, когда формат другой (например rar). Ничего не найдя в инете по этой теме я решил эту задачу так: <?if($IMG_URL2$)?> здесь пустой текст <?else?> здесь просто плеер <?endif?> - то есть плеер появляется от того, добавлю ли я второе изображение при редактировании. Т.е. 1 изобр. - плеер есть, 2 и более - просто файл. Встал вопрос: как будет определяться формат при скачивании, я решил сделать так: Перезвал поле $AUTHOR_NAME$ (сделав в настройках его обязательным!) на "формат файла" и указал в ссылке через "download=", т.е. сам задаю его когда нужно загрузить rar например. <a href="$FILE_DIRECT_URL$"download="$ENTRY_TITLE$.$AUTHOR_NAME$">Скачать</a> Решение примитивное, но ничего больше придумать со своим багажом знаний пока не могу, тем более что делается всё на платформе Ucoz.
Очень хочется узнать, есть ли какое-нибудь js решение по моему вопросу (просто не силён в этой теме)?
Добавлено (04 Октября 2015, 17:36) --------------------------------------------- Конкретизирую вопрос. Нет ли чего-то похожего на: <?if($код$='условие')?> просто текст <?else?> плеер с мп3<?endif?> Нет ли какой-то команды, применимой в условиях типа "format=", если есть пожалуйста напишите)
Я совсем не знаком с Ucoz, как в прочем и с другими онлайн конструкторами сайтов. Если я правильно понял то тебе надо определить формат скачиваемого файла и в зависимости от этого выполнить то или иное действие. Если да, то один из вариантов решения данной задачи на JS, будет выглядеть так:
Код
<script type="text/javascript"> var urlFile = "http://site/file/file.mp3", //Указываешь путь до скачиваемого файла division, typeFile = ( division = urlFile.split("/").pop().split(".") ).length > 1 ? division.pop() : "";
if (typeFile == 'mp3') { alert( typeFile ); // Тут делаешь то что надо сделать если этот файл mp3. В данном случае я просто вывожу раширене в всплывающем окне. } </script>
Тут Дембель нужен, он с Ucoz знаком... "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
путь верный, можно же проверить имя файла то яваскриптом, да и все... хотя советовать чтото не берусь, надо посмотреть вживую че ты там наворотил чтобы сделать красиво. хочешь скинь в личку адрес сайта и учетные данные юзера с соответствующими правами доступа. зайду посмотрю... Как задавать вопросы
Так-с... Ну указал бы еще с каким шаблоном работаешь. Доступа к сайту не предоставлено, так что опыты ставлю на этом. Не знаю что там у тебя будет получаться.
Короче, если по уму и красиво - делаешь пустой блок div с нужным стилем (стиль тоже можно сменить динамически если что), и в зависимости от результатов проверки имени файла в яваскрипте, заполняешь его соответствующим содержимым, либо ссылка, либо плеер. По итогам проверки можно заполнить содержимое (или оставить пустым) и других блоков, принцип показан, разберешься. Не разберешься - ставишь пузырь, контакты есть.
Код
<div id="filecontent" style="float:left"></div>
<!-- Если ссылка вообще указана, то работаем... --> <?if($FILE_URL$)?>
<script type="text/javascript"> var file = '$FILE_DIRECT_URL$'; var ext = file.split('.').pop();
if (ext == 'mp3') { document.getElementById('filecontent').innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="165" height="37" id="niftyPlayer1" align="">' + '<param name="movie" value="http://www.bibliaonline.net/js/niftPlayer/niftyplayer.swf?file=http://zaycev-tut.ru/_ld/7/748_-N-___2015_.mp3&as=0">' + '<embed src="http://www.bibliaonline.net/js/niftPlayer/niftyplayer.swf?file=http://zaycev-tut.ru/_ld/7/748_-N-___2015_.mp3&as=0" quality=high bgcolor=#FFFFFF width="165" height="37" name="niftyPlayer1" align="" type="application/x-shockwave-flash" swLiveConnect="true" pluginspage="http://www.macromedia.com/go/getflashplayer">' + '</embed></object>'; } else { document.getElementById('filecontent').innerHTML = 'пиши че там у тебя если нет плеера <a href="$FILE_DIRECT_URL$"download="$ENTRY_TITLE$.mp3">Скачать файл</a>' } </script> <?endif?>
выглядит непонятно, но в шаблоне расставь красиво переносы, исправь пути на свои, и все красиво. В примере рабочий вариант с плеером с офсайта и музоном с какогото говносайта. Главное не напутай с кавычками при разбиении строки с кодом плеера, ну и теги смотри закрыты чтоб были все.
Добавлено (05 Октября 2015, 21:42) --------------------------------------------- "movie" value= обрати внимание, у тебя movie это параметр, должны быть кавычки, а у тебя их нет
Добавлено (05 Октября 2015, 21:46) --------------------------------------------- глянь в инете как красиво и правильно код флешплеера прописывать заодно. Тег Embed выкини, все еще копипастят криворукие везде по инету эту срань, не бери с них пример...
Добавлено (05 Октября 2015, 22:39) --------------------------------------------- короче, тут могут быть неувязочки, но в современных браузерах минимально рабочий сетап для тебя будет вот такой
если в старых IE не заведется добавь тегов codebase и/или param="movie" value="/mp3pl/niftyplayer.swf?file=$FILE_DIRECT_URL$&as=0"
Как задавать вопросы
Большое спасибо! Мне кажется, не только мне это пригодится, отличное решение задачи! Я придумал кое-что ещё, конечно попроще, оригинально, но ваш вариант лучше (его буду использовать). Если кратко: заключил в if код без else-условия поле "Автор", которое переименовал в "формат"(сделав его необязательным) код плеера - таким образом я при редактировании указываю "mp3" в поле и у меня появляется плеер, а если не указываю - то обычный файл можно подгружать и ничего не появится Тема очень интересная... А если допустим, сделать такой плеер, который будет проигрывать не только музыку, но и видео, тогда будет вообще класс!
лучше смотреть на месте. скорее всего ошибки синтаксиса, кавычки и т.п. MESSAGE может быть с кавычками одинарными что сломает строку js-кода. Нужно глянуть на месте.
Есть другой способ - заранее создать все нужные блоки div с нужным кодом, но в стиле прописать
Код
<div style="display:none">
чтобы они были скрыты. А в скрипте просто менять стиль на видимый у нужного блока, если вывести html-код скриптом проблематично. Как задавать вопросы
Попробуй заменить все одинарные кавычки на двойные, и те что в HTML коде проэкранировать - \" "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Спасибо, честно сказать трудно представить Попробую,поковыряюсь.
Добавлено (07 Октября 2015, 14:02) --------------------------------------------- Постигая основы веб-программирования, узнал интересную вещь, по сути об этом пока нигде подробно не писали. В if-условиях есть и команды для браузера, вот например для internet explorer: <?if(browser="IE")?> здесь все наработки для него<?else?> а здесь для остальных браузеров <?endif?> . Работает (!?). Вот такое техническое решение. Может кто-нибудь объяснит, если например в таком роде команда типа "file format" и т.д.?
Добавлено (07 Октября 2015, 14:26) --------------------------------------------- Вот нашёл кое-что. <!--#if expr="УСЛОВИЕ1" --> HTML-код, который будет выводиться, если УСЛОВИЕ1 истинно <!--#elif expr="УСЛОВИЕ2" --> HTML-код, который будет выводиться, если УСЛОВИЕ1 ложно, а УСЛОВИЕ2 истинно <!--#else --> HTML-код, который будет выводиться, если все условия ложны <!--#endif -->
"Условие - это либо строка, которая является истинной, если непустая, или набор операторов сравнения строк. Операторы могут быть ==,!=,<,<=,=> и >. Если вторая строка заключена в "/"(слэши), то условие истинно, если в первой строке встречается хоть одно вхождение второй строки. Можно объединять несколько операторов сравнения с помощью операторов &&(И) и ||(ИЛИ). Для группирования условий используются "()"(скобки). " (http://www.know-html.ru/ssiif.php)
Броузер:<b> <!--#if expr="$HTTP_USER_AGENT=/Nav/ || $HTTP_USER_AGENT=/Mozilla/" --> Netscape Navigator <!--#elif expr="$HTTP_USER_AGENT=/Opera/" --> Opera <!--#elif expr="$HTTP_USER_AGENT=/MSIE/" --> Internet Explorer <!--#else --> Неизвестный (<!--#echo var="HTTP_USER_AGENT" -->) <!--#endif --> </b>
Добавлено (07 Октября 2015, 18:46) --------------------------------------------- Нашёл простейший выход без исп. js! Причём пользовался только стандартными подсказками от Ucoz. Напомню, я переименовал поле $AUTHOR_NAME$ из автора в "формат", при редактировании сам его указываю. Код получился простой (я сделал JW-плеер, видящий формат flv и mp3):
<?if(substr($AUTHOR_NAME$,0,3)='mp3'or substr($AUTHOR_NAME$,0,3)='flv')?> <div id="container"> <a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div> <script type="text/javascript" src="/plaer/swfobject.js"></script> <script type="text/javascript"> var s1 = new SWFObject("/plaer/mediaplayer.swf","mediaplayer","380","370","8"); s1.addParam("allowfullscreen","true"); s1.addVariable("width","380"); s1.addVariable("height","370"); s1.addVariable("file","$FILE_DIRECT_URL$"); s1.addVariable("image","$IMG_URL1$"); s1.write("container"); </script> </br> </br><?endif?><div style="float:left">$MESSAGE$</div>
Вот и всё. Не нужно особо напрягаться с js ))
Добавлено (07 Октября 2015, 18:52) --------------------------------------------- Объясняю для тех,кто заинтересуется - как? (не сообразит что от чего) Условие работает так, если в поле "формат" я при редактировании вбиваю mp3 или flv - плеер просто появится, если не вобью или укажу что-то другое - не будет плеера.
Добавлено (09 Октября 2015, 15:46) ---------------------------------------------
ЦитатаDEMBEL ()
Цитата NachosChips () но и видео, тогда будет вообще класс!
просто добавь условий для расширений видео и подсовывай в них код соответствующего плеера.
Сделал разграничение что на воспр. mp3 - просто плеер, на flv и mp4 - видео.
Для одного условие такое: <?if(substr($AUTHOR_NAME$,0,3)='mp3')?> просто плеер<?endif?>
В случае, если другой формат - видео: <?if(substr($AUTHOR_NAME$,0,3)='mp4'or substr($AUTHOR_NAME$,0,3)='flv')?> видео плеер<?endif?>
Вот такая дизайнерская мысль))
Добавлено (09 Октября 2015, 19:00) --------------------------------------------- Есть вопрос.
Придумал как добавить видео к новости в "новостном" модуле, но не работает почему то. Рассказываю что придумал. Дело в том, что к новости можно добавлять только картинки и не более того. Но! Можно активировать "дополнительные поля", в которые можно сделать ссылку на файл. Я создал отдельный блок $GLOBAL_PLAYERBLOG$, в который поместил код JW-плеера. В нём находится:
<div id="container"> <a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div> <script type="text/javascript" src="/player/swfobject.js"></script> <script type="text/javascript"> var s1 = new SWFObject("/player/mediaplayer.swf","mediaplayer","380","370","8"); s1.addParam("allowfullscreen","true"); s1.addVariable("width","380"); s1.addVariable("height","370"); s1.addVariable("file","http://www.youtube.com/watch?v=$OTHER1$"); s1.addVariable("image","$IMG_URL1$"); s1.write("container"); </script>
Задумывалось как для вставки видео с youtube.com. Где $OTHER1$ - то самое доп. поле, сделанное "необязательным", в которое при добавлении новости вставляется просто код видео с youtube.
Код "Новости и комментарии" (полная новость) выглядит так:
<?if($OTHER1$)?>$GLOBAL_PLAYERBLOG$<?endif?> - т.е. если мы вписываем код с youtube в поле - появляется плеер.
Т.о. при добавлении новости мы вставляем код в доп. поле и получаем видео в полной новости.
В чём вопрос. Не работает, идёт загрузка, хотя JW-плеер должен отображать (как сказано в его описании) YouTube видео.
Жду ответа. Очень интересное решение для блога, только не могу понять почему всё останавливается на загрузке при открывании новости.
учти то что ты написал в ЛС - подключение и конфиг плеера с js, если в браузере отключен яваскрипт или стоит блокиратор типа NoScript ты ниче не увидишь. Как задавать вопросы
Проблему решил плеер Uppod, он такой же функциональный, как JW-плеер, но менее замороченный в кодах и более интересный на вид. Перерыл весь интернет как его вставить, вначале были статьи как он "адаптируется" под dle. Нашёл наконец, задав запрос "Uppod для Ucoz", там на одном из сайтов увидел код, но он был не рабочий из-за того, что сайтов с файлами (путей) уже не существовало. Нашёл наконец файлы... На оф. сайте uppod, пришлось там зарегистрироваться. Итак, этот плеер читает ссылки youtube..! Вот такой код я нашёл, куда и впихнул свои swf и txt:
Теперь работает. Если кому неохото искать файлы swf и txt, прикрепляю ниже.
Добавлено (12 Октября 2015, 12:49) --------------------------------------------- Думаю многим пригодится, пусть будет. Очень мало ресурсов выкладывают сами файлы, обыскался.
Добавлено (12 Октября 2015, 15:24) --------------------------------------------- 1 минус с ютуб-воспроизведением. Если автор видео запретил размещение (эмбеддинг, так понятнее), то ничего не выйдет. Но плеер хорош.
Добавлено (21 Октября 2015, 19:37) --------------------------------------------- Ребят,ещё вопрос по Ucoz. А как убрать "Показано 1-1 из 1 сообщений" в гостевой книге?
Из банально-простого, в CSS пропиши: div#numEntries { display: none; } "Вы знаете, нам очень понравились все варианты, что вы прислали. Даже не знаем, что выбрать… А может попробуем объединить все три логотипа в один?"
Понятно) Этот вариант конечно лучше - через css. Ещё вот такой выход есть: <script type="text/javascript"> $('То что нужно удалить').remove(); </script>