Форум поддержки пользователей ZeroParking

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум поддержки пользователей ZeroParking » Галерея скриптов » Ссылки с всплывающим превью


Ссылки с всплывающим превью

Сообщений 1 страница 3 из 3

1

Скрипт и идея не моя ну вот хотел поделится взято с  http://forum.mybb.ru/viewtopic.php?id=21946
есть возможность сделать ссылки, которые мы вставляем в пост, с всплывающим превью при наведении курсора
для этого есть плагин websnapr

<script type="text/javascript" src="http://www.frequency-decoder.com/demo/link-preview-v2/websnapr.js"></script>
<link rel="stylesheet" type="text/css" href="http://www.frequency-decoder.com/demo/link-preview-v2/websnapr.css" />

чтобы он заработал с ссылками надо им придать класс class="websnapr"
и ссылки будут выглядеть так:
<a href="ссылка" rel="nofollow" class="websnapr">Это интересно</a>
http://s005.radikal.ru/i211/1001/bc/11b293a214d4.jpg
чтобы показать, что это всё работает сделал такой скрипт:

<script type="text/javascript" src="http://www.frequency-decoder.com/demo/link-preview-v2/websnapr.js"></script>
<link rel="stylesheet" type="text/css" href="http://www.frequency-decoder.com/demo/link-preview-v2/websnapr.css" />

<script type="text/javascript">
function addSpoiler_myurl(str,from,internal){
    var pos=0,pos2=0,newpos=0
    if((pos=str.indexOf("[myurl]",from))==-1) return str;
    if((pos2=str.indexOf("[/myurl]"),pos+8)==-1) return str;
    newpos=str.indexOf("[myurl]",pos+8)
    if(newpos<pos2 && newpos!=-1) str=addSpoiler_myurl(str,pos+8,true)
    if((pos2=str.indexOf("[/myurl]",pos+8))==-1) return str;
    txt = str.substring(pos+7,pos2);
    if((sepPos=txt.indexOf("|",0))==-1) return str;
    str=str.substring(0,pos)+makeSpoilerr_myurl(txt.substring(0,sepPos),txt.substring(sepPos+1,txt.length))+str.substring(pos2+8,str.length)
    if( str.indexOf("[myurl]")!=-1 && internal==false) str=addSpoiler_myurl(str,0,false)
    return str
}   

function makeSpoilerr_myurl(txt1,txt2){
    txt='<a href="'+txt1+'" rel="nofollow" class="websnapr">'+txt2+'</a>';
    return txt;
}

if(document.URL.indexOf("viewtopic.php")!=-1){
elm=document.getElementById("pun-main").getElementsByTagName("div")
for(x in elm) if(elm[x].className=="post-content"){
var post=elm[x]
post.innerHTML=addSpoiler_myurl(post.innerHTML,0,false)}}
</script>
теги [myurl]ссылка|описание[/myurl]

http://testing.1bb.ru/viewtopic.php?id=6#p52

могу и кнопку сделать, но я так рассуждаю,
зачем лепить кучу кнопок и скриптов, когда есть уже кнопка http://dreamforum.ru/i/link_add.png  ?
и чтобы она заработала с превью, Admin может на сервере добавить вышеупомянутый плагин и присвоить ссылкам class="websnapr"
сложностей тут быть не должно

может быть я ошибаюсь, и этот создаст дополнительную нагрузку на сервер, не знаю

З.Ы От меня(opirk032) Могу кнопку слепить

Отредактировано opirk032 (2010-02-04 08:23:42)

0

2

:flag:

Отредактировано opirk032 (2010-02-04 09:24:21)

0

3

opirk032
я гляжу, ты тут все мои работы разместил  :D
(да я не в обиде ;) )

готовая версия ссылок с превью
без лишних тегов ( спасибо за идею mkusher'у)

в html-верх:

Код:
<script type="text/javascript" src="http://www.websnapr.com/js/previewbubble.js"></script>

в html-низ:

Код:
<!--Превью ссылок-->
<script type="text/javascript">
var a = document.getElementsByTagName("a")
for( i=0; i<a.length; i++ )
{
   if( a[i].href.indexOf("http://" + document.domain + "/click.php?http://") != -1 )
   {
      a[i].href = "http://" + a[i].href.substring(a[i].href.lastIndexOf("http://")+7)
   }
}
$(document).ready(function(){
$(".post-body a[rel='nofollow']").addClass("previewlink");
});
var bubbleImagePath = 'http://i082.radikal.ru/1002/a7/93e2e551a76c.png';
</script>

работает при наличии у вас jquery

ПРИМЕР работы

0


Вы здесь » Форум поддержки пользователей ZeroParking » Галерея скриптов » Ссылки с всплывающим превью


Рейтинг форумов | Создать форум бесплатно