Цитата:
Сейчас мне понадобилось вызывать функцию (для удаленной перезагрузки домашнего роутера, так как периодически сама кнопка перезагрузки не загружается), а никак не могу понять как это сделать через адресную строку.. |
Вот как я это делал на PHP:
// вычисляем общую длину текста $str = strlen( $row['short_story'] ); // получаем середину текста в количестве символов $strpol = $str / 2; // ищем первый конец предложения (. ) после середины текста $startpost = strpos($row['short_story'], '. ', $strpol); // возвращаем 2 символа $startpost = $startpost + 2; // генерируем первую часть текста $row['short_story1'] = substr($row['short_story'], 0, $startpost); // генерируем вторую часть текста $row['short_story2'] = substr($row['short_story'], $startpost); // создаем массив из вставок $insert = array("Взято с сайта ....", "Специально для ...", "Написано специально для ...", "Написано специально для сайта ...", "Взято с ...", "Рассказ написан специально для ...", "и т.д."); $randins = array_rand($insert); $thisurl = $_SERVER['REQUEST_URI']; // выводим первую и вторую часть вставляя между ними свой текст $tpl->set( '{short-story}', $row['short_story1'] . "<span style=\"width: 1px; height: 1px; display: block; opacity: 0; float: left;\"><a href=\"" . $thisurl . "\">" . $insert[$randins] . "</a></span> " . $row['short_story2'] ); Подскажите пожалуйста, как это переделать на JQUERY? |
Alex1233,
Есть такая чудесная вещь как консоль. В хроме и лисе вызывается через f12.Вот там можно и исходный код смотреть и запросы, и выполнять js код. У тебя несколько вариантов: 1 Втыкать невидимую ссыль на сервере. 2 Написать функцию которая при загрузке страницы проверяет ее на наличие блоков текста с классом например ,needLink и вставлять туда невидимую ссыль Вот пример http://jsfiddle.net/fygy8osw/1/ Как видишь там чистый текст, если в тексте есть html, придется что то придумывать, а то будет неприятно если вставиться как нибудь так <spa<a href="/path/">my link</a>n>my text</span> 3 Поискать решения на основе clipboard. Есть такие события как copy,past в которых доступен скопированный текст через e.clipboard помоему, не знаю точно не сталкивался. Не кроссбраузерная вещь, но тоже точно не знаю. Так вот так же как в прошлом примере, только на oncopy вставляем в середину теста из clipboard. |
ну так преобразуйте строку в массив, разделяя по пробельным символам. От длинны посчитайте середину. Возьмите два соседних слова около серединой. И, далее, замените комбинацию этих слов, на комбинацию но со спаном внутри.
|
krasovsky, во, спасибо за ссылочку - вроде то что нужно! Посмотрю потом повнимательнее.
voral, это то понятно, я просто не знаю как это сделать на JQUERY... |
Как добраться до элемента содержащего текст знаете?
<!DOCTYPE HTML> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> </head> <body> <div class="text-body">Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века. В то время некий безымянный печатник создал большую коллекцию размеров и форм шрифтов, используя Lorem Ipsum для распечатки образцов.<br> Lorem Ipsum не только успешно пережил без заметных изменений пять веков, но и перешагнул в электронный дизайн. Его популяризации в новое время послужили публикация листов Letraset с образцами Lorem Ipsum в 60-х годах и, в более недавнее время, программы электронной вёрстки типа Aldus PageMaker, в шаблонах которых используется Lorem Ipsum</div> <a id="test" href="#">Делим</a> <script> var insertLink = function(srcText) { // берем блок содержащий текст var textBox = $('.text-body'); // берем из блока html (не забываем про br) и сразу делим полученное в массив. // в качестве разделителя пробел // но! это если реально не может быть вложенных тегов. Иначе нужно будет использовать // регулярные выражения var arrWords = textBox.html().split(' '); // берем из н // вставляем в серидину массива нужный код arrWords.splice(Math.ceil(arrWords.length / 2), 0, '<a href="http://ya.ru/" class="some-class">YES!!!</a>'); // склеиваем массив в одну строку и заменяем на это значение html содержащийся в искомом блоке textBox.html(arrWords.join(' ')); } $(document).ready(function(){ // это только для очевилности. Можете вызвать эту ф-ию в нужный вам момент $('#test').click(insertLink); }); </script> </body> </html> По сути тут и jQuery особо не нужен. |
Часовой пояс GMT +3, время: 05:28. |