|
replace help
|
|
| MegaFill | Дата: 26 Апреля 2009, 10:36 | Сообщение # 1 |  ● ● ● ● ● 1588 сообщений Статус: Offline | Что не правильно делаю? Есть див с текстом, нужно в нем заменить переменные. Code <script>
str1 = document.getElementById('socialWrapper').innerHTML; lochref = location.href; document.getElementById('socialWrapper').innerHTML = str1.replace(/$ENTRY_URL$/g, lochref); document.getElementById('socialWrapper').innerHTML = str1.replace(/$ENTRY_TITLE$/g,"$ENTRY_NAME$");
</script> | | |
|
| NecroProger | Дата: 26 Апреля 2009, 10:47 | Сообщение # 2 |  ● ● ● ● ● 1024 сообщения Статус: Offline | А нафиг тут регексп? Простой заменой обойтись можно... | | |
|
| MegaFill | Дата: 26 Апреля 2009, 11:57 | Сообщение # 3 |  ● ● ● ● ● 1588 сообщений Статус: Offline | Эм... а как?Добавлено (26 Апрель 2009, 11:57) --------------------------------------------- омг, так как хаменить кусок текста в диве на другой? А то чет не получается... | | |
|
| NecroProger | Отредактировал NecroProger - Воскресенье, 26 Апреля 2009, 12:05 Дата: 26 Апреля 2009, 12:06 | Сообщение # 4 |  ● ● ● ● ● 1024 сообщения Статус: Offline | Я бы написал след. образом: Code <script type='text/javascript'> var obj=document.getElementById('socialWrapper'); locationHref=location.href; obj.innerHTML=obj.innerHTML.replace('$ENTRY_URL$',locationHref).replace('$ENTRY_TITLE$','$ENTRY_NAME$'); </script> Кстати, в регекспе нужно доллар уминать, потому что иначе это - управляющий символ!Добавлено (26 Апрель 2009, 12:06) --------------------------------------------- В регекспе доллар - конец строки. | | |
|
| }{0тт@бь)ч | Дата: 26 Апреля 2009, 12:15 | Сообщение # 5 | ● ● ● ● ● 1089 сообщений Статус: Offline | Quote (MegaFill [url=http://helper.ucoz.ru/forum/26-5020-60799-16-1240727793) →[/url]]$ENTRY_TITLE$ и не забывай, чтоон может содержать ', ", ;, :, \ и т.п. | | |
|
| MegaFill | Дата: 26 Апреля 2009, 12:24 | Сообщение # 6 |  ● ● ● ● ● 1588 сообщений Статус: Offline | перед долларом поставиь \$ и норм. И еще сделал так replace(/\$ENTRY_URL\$/g,locationHref) чтобывсе заменялись, а не первое совпадение. | | |
|
| NecroProger | Дата: 26 Апреля 2009, 12:53 | Сообщение # 7 |  ● ● ● ● ● 1024 сообщения Статус: Offline | MegaFill, точно, я забыл, что когда строкой заменяешь, то нельзя глобальный поиск. | | |
|
| Бармалей | Дата: 26 Апреля 2009, 16:49 | Сообщение # 8 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | NecroProger, MegaFill, что за бред вы несете? Какой еще доллар? Вы с понятиями ю.кодов чтоли не знакомы? MegaFill, посмотрите что подставляет $ENTRY_URL$ вместо себя, почитайте о регэкспах и подумайте почему выражение видаCode text.repalce(/http://helper.ucoz.ru/forum/26-5020-1/g,''); не работает
 | | |
|
| NecroProger | Отредактировал NecroProger - Воскресенье, 26 Апреля 2009, 16:55 Дата: 26 Апреля 2009, 16:55 | Сообщение # 9 |  ● ● ● ● ● 1024 сообщения Статус: Offline | Бармалей, никто не сказал, что дело происходит в шаблоне. Я думал вообще, что это просто скрипт, который заменяет "$ENTRY_URL$" на адрес страницы и "$ENTRY_TITLE$" на "$ENTRY_NAME$". | | |
|
| Бармалей | Дата: 26 Апреля 2009, 17:01 | Сообщение # 10 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Вероятность того, что данный код должен находиться в Ю.Шаблоне больше, чем вероятность того, что этот код находится в HTML файле.
 | | |
|
| MegaFill | Дата: 26 Апреля 2009, 17:01 | Сообщение # 11 |  ● ● ● ● ● 1588 сообщений Статус: Offline | Бармалей, зайди сам http://journal.ucoz.com/news/2009-04-26-369 и внизу ссылки на закладки. Все работает. | | |
|
| Бармалей | Дата: 26 Апреля 2009, 17:13 | Сообщение # 12 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Что-то UNICUM_ENTRY_URL не очень похоже на URL, выданный ю.кодом $ENTRY_URL$
 | | |
|
| MegaFill | Дата: 26 Апреля 2009, 17:27 | Сообщение # 13 |  ● ● ● ● ● 1588 сообщений Статус: Offline | $ENTRY_URL$ не действует в новостях. Поэтому и пришлось идти на такое извращение. | | |
|
| Бармалей | Дата: 26 Апреля 2009, 17:42 | Сообщение # 14 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Все зарезервированные коды заменяются на нулевую строку, если данный код не работает в этом шаблоне.
 | | |
|
| MegaFill | Дата: 26 Апреля 2009, 17:56 | Сообщение # 15 |  ● ● ● ● ● 1588 сообщений Статус: Offline | И пускай заменяются. У меня сылка на страницу берется скриптом и заменяется на место UNICUM_ENTRY_URL А название встает с помощью работающего $ENTRY_TITLE$ вместо UNICUM_ENTRY_TITLE И все работает.  | | |
|
| mob_dp | Дата: 26 Апреля 2009, 22:36 | Сообщение # 16 | ● ● ● ● ● 4112 сообщений Статус: Offline | Code document.getElementById('socialWrapper').innerHTML = document.getElementById('socialWrapper').innerHTML.replace('$ENTRY_URL$', location.href).replace('$ENTRY_TITLE$','$ENTRY_NAME$'); Такое не подходит? p/s/ не проверял | | |
|
| NecroProger | Дата: 26 Апреля 2009, 22:54 | Сообщение # 17 |  ● ● ● ● ● 1024 сообщения Статус: Offline | mob_dp, я так и написал по смыслу, но по быстродействию твой код будет работать помедленнее. | | |
|
| mob_dp | Дата: 27 Апреля 2009, 01:09 | Сообщение # 18 | ● ● ● ● ● 4112 сообщений Статус: Offline | NecroProger, кроме того что в твоем коде создается 2 не нужные переменные, ничего не поменялось. | | |
|
| NecroProger | Дата: 27 Апреля 2009, 07:42 | Сообщение # 19 |  ● ● ● ● ● 1024 сообщения Статус: Offline | mob_dp, ненужные переменные уйдут, а метод getElementById работает достаточно медленно, он у меня используется только один раз. location.href тоже (думаю) работает медленнее, чем просто получение значения переменной. | | |
|
| Бармалей | Дата: 27 Апреля 2009, 10:10 | Сообщение # 20 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | location.href тоже (думаю) работает медленнее, чем просто получение значения переменной. Не думаю. В конце концов это такая же переменная, как и созданная вами locationHref
 | | |
|