Скрипт, чтобы изменить слово логотипом или картинкой

Как и что прописать в коде шаблона, чтоб при последующей вставке в статью ссылок типа: http://www.google.com/ или http://www.google.com/webhp?hl=ru, результатом получать всегда в готовой статье кликабельную кнопку-картинку с переходом по этим ссылкам.
Вот как раз недавно сообщение опубликовала про CSS селекторы. Применим на практике. Для пользователей Blogger на вкладке "Шаблон" - кнопка "Настроить" - "Дополнительно" - "Добавить CSS" пишем код и в поле ввода нажимаем Enter - оранжевая кнопка "Применить к блогу".
a[href^="http://www.google.com"] { 
  background: url(http://4.bp.blogspot.com/-9oAj7CmoIFQ/TpC8QtdPhdI/AAAAAAAACYo/DvJYUjLJ_LY/s400/logo-google1.png) no-repeat; 
  width: 201px; 
  height: 120px;
  display: inline-block; 
  padding: 100px 0 0 100px; 
}
Пример как применить селекторы в Blogger


В результате любая ссылка на Гугл будет с фоновым изображением. В качестве анкора можно применить небольшую прозрачную картинку:
<a href="http://www.google.ru/webhp?hl=ru"><img height="15" width="30" src="http://3.bp.blogspot.com/--d9o4AQdwmE/TpDKwYbrTdI/AAAAAAAACYw/AapC-bK52qo/s400/fon.png" alt="Гугл"/></a>

Скрипт, чтобы изменить слово логотипом или картинкой

А теперь рассмотрим вариант JMiur, а именно скрипт, который ищет и автоматически изменяет слова на указанный HTML код, в том числе одно слово на другое.

В "Шаблоне" - кнопка "Изменить HTML" устанавливаем галочку "Расширить шаблоны виджета". До
</head>
вносим
<script type='text/javascript'>
//<![CDATA[
function reemplazaLogos(cual) {
if(!document.getElementById) { return; }
var verificar = "post-body-" + cual;
bodyText = document.getElementById(verificar);
elTexto = bodyText.innerHTML;
elTexto = elTexto.replace(/Гугл/g,'<a href="http://www.google.com/" target="_blank"><img src="http://cs10361.vkontakte.ru/u27477168/-5/m_2c46459a.jpg" style="vertical-align:text-bottom;" border="0" height="47" width="130" alt="Google"/></a>');
bodyText.innerHTML = elTexto;
}
//]]>
</script>
После фрагмента
<div class='post-body entry-content' expr:id='&quot;post-body-&quot; + data:post.id'>
      <data:post.body/>
      <div style='clear: both;'/> <!-- clear for photos floats -->
    </div>
добавляем
<script type='text/javascript'>reemplazaLogos(&#39;<data:post.id/>&#39;);</script>

Теперь вместо слова "Гугл" мы увидим картинку Google, которая является ссылкой на Google.

Если нужно изменить одно слово на другое автоматически на всём сайте, то скрипт будет выглядеть:
<script type='text/javascript'>
//<![CDATA[
function reemplazaLogos(cual) {
if(!document.getElementById) { return; }
var verificar = "post-body-" + cual;
bodyText = document.getElementById(verificar);
elTexto = bodyText.innerHTML;
elTexto = elTexto.replace(/Гугл/g,'Google');
bodyText.innerHTML = elTexto;
}
//]]>
</script>
в f t
наверх ↑

21 комментарий:

Анонимный
Огромное спасибо Вам NMitra за этот подробный и достаточно доступный для чайников мануал. Задача решена на пять.
NMitra
Рада оказаться полезной. Люблю пятёрки)))
temasey
то есть можно заменить кнопку перехода в новость (далее) на картинку?
NMitra
Чтобы изменить кнопку "Далее" код в шаблоне

<data:post.jumpText/>

меняем на

<img src="http://www.blogger.com/img/gl.link.gif" />

или другую картинку.
Ольга Корчёмкина
Интересная идея! Пока не придумала, какую именно ссылку приукрашу картинкой, но буду знать, что такое есть. Обязательно использую и буду знать, где найти подробную инструкцию!
temasey
Привет еще раз.я вернулся :)

что то никак не найду такой строчки. чего делать если отсутствует то?
NMitra
Какие именно?
temasey
что какие именно... для замены далее на картинку data:post.jumpText
ах да блог steve-o.ru
NMitra
<b:if cond='data:post.hasJumpLink'>
      <div class='jump-link'>
        <a expr:href='data:post.url + &quot;#more&quot;' expr:title='data:post.title'><data:post.jumpText/></a>
      </div>
    </b:if>
temasey
что это
NMitra
Это полный код, смотрите внимательно. Если его нет, то нужно мне заглядывать в шаблон, здесь я по-другому сказать не смогу, сбросьте на почту.
temasey
еее получилось :)
дурацская опера опять глючит. А можно как то сделать чтобы кнопка подсвечивалась как то при наведении... или это уже флэш нужно?
NMitra
.jump-link a:hover {-moz-box-shadow: 0 2px 6px #fff; -webkit-box-shadow: 0 2px 6px #fff;}
NMitra
Или

.jump-link:hover {-moz-box-shadow: 0 2px 6px #fff; -webkit-box-shadow: 0 2px 6px #fff;}
temasey
за это то конечно спасибко)
а куда это вставить то надо?
куда не вставлю либо этот код+кнопка либо просто ничего
NMitra
Перед ]]></b:skin>

.jump-link img:hover {-moz-box-shadow: 0 0px 20px #fff; -webkit-box-shadow: 0 0px 20px #fff;}

В картинке сделайте уголки прозрачными.
temasey
углы сделал..код вставил...эффекта нет(
NMitra
В каком браузере смотрите?
temasey
и в опере и эксплорере не работает...о а файрфокс видит)
temasey
только уголки все равно видно...не знаю как их еще убрать...ну да ладно
NMitra
Для ИЕ нужно прописывать фильтр - http://shpargalkablog.ru/2011/06/css-box-shadow.html

А вот про Оперу интересно. Ан, нет сам дурак. Из

-moz-box-shadow

убери -moz- и оставь только box-shadow