官方首页 | 无图版 | BBS首页
PJBlog3 2.8.5.157 新版发布 下载|升级(2008.8.26) 来给PJ3提提发展建议 2008版 PJHOME 珍藏/纪念版官方T恤 正式发布! PJ3内测团队主创人员身份,性格,特点吐血大曝光
PJBlog技术支持论坛使用问题总索引 PJ-Blog 3 斑竹日志 【独家】我使用过的三种空间,与客服的精彩故事 Z-Blog,Wordpress,Bo-Blog转换到PJBlog
 26 123
发新话题
打印

ThickBox效果在PJBlog中的实现[UBB编辑模式]----(比lightbox强大多了)[更正]

ThickBox效果在PJBlog中的实现[UBB编辑模式]----(比lightbox强大多了)[更正]

红色部分为更正部份,其实也谈不上更正,只是上次有一处更改未在贴子中说明(漏了)。在此致谦!
ThickBox 是基于 jQuery 用 JavaScript 编写的网页UI对话窗口小部件. 它可以用来展示单一图片, 若干图片, 内嵌的内容, iframed的内容, 或以 AJAX 的混合 modal 提供的内容.
前些时候发现插入的某些flv视频不能在IE下播放出来,在寻找解决法时想到了ThickBox。它的功能要比lightbox强大的多,可以实现网页文件的弹出展示,从而避免了在日志中插入FLSH的难看之处(现在那些flv视频网的播放器实在难看,广告也很讨厌)。
下面是它的实现办法:
首先请下载ThickBox压缩包(请下载附件2),里面有所需要的JS文件、CSS文件以及图片文件。将解压后的ThickBox文件夹上传到博客程序所在的根目录,default.asp文件所在的目录下。并将图片文件ThickBox.gif放入你的风格UBB/Icons目录里。

下面是代码修改部份:
1、打开header.asp文件,在代码“</head>”之前插入下列代码并保存。
复制内容到剪贴板
代码:
               
                <link rel="stylesheet" href="ThickBox/thickbox.css" type="text/css" media="screen" />
                <script type="text/javascript" src="ThickBox/jquery.js"></script>
                <script type="text/javascript" src="ThickBox/thickbox.js"></script>
2、打开 common/ubbcode.asp 文件。查找下面的代码(大约在11行左右)
复制内容到剪贴板
代码:
                Dim re, strMatchs, strMatch, rndID,tmpStr1,tmpStr2,tmpStr3,tmpStr4
在其后面追加:,tmpStr5,tmpStr6,tmpStr7。也就是修改为:
复制内容到剪贴板
代码:
                Dim re, strMatchs, strMatch, rndID,tmpStr1,tmpStr2,tmpStr3,tmpStr4,tmpStr5,tmpStr6,tmpStr7
然后查找下面的代码:
复制内容到剪贴板
代码:
                else
                      re.Pattern="(\[img\])(.[^\]]*)\[\/img\]"
                    Set strMatchs=re.Execute(strContent)
                    For Each strMatch in strMatchs
                        tmpStr1=checkURL(strMatch.SubMatches(1))
                        strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr1&""" target=""_blank"" title="""&tmpStr1&"""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                    Next
                    
                      re.Pattern="\[img=(left|right|center|absmiddle|)\](.[^\]]*)(\[\/img\])"
                    Set strMatchs=re.Execute(strContent)
                    For Each strMatch in strMatchs
                        tmpStr1=strMatch.SubMatches(0)
                        tmpStr2=checkURL(strMatch.SubMatches(1))
                        strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr2&""" target=""_blank"" title="""&tmpStr2&"""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                    Next
                  
                      re.Pattern="\[img=(\d*|),(\d*|)\](.[^\]]*)\[\/img\]"
                    Set strMatchs=re.Execute(strContent)
                    For Each strMatch in strMatchs
                        tmpStr1=strMatch.SubMatches(0)
                        tmpStr2=strMatch.SubMatches(1)
                        tmpStr3=checkURL(strMatch.SubMatches(2))
                        strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr3&""" target=""_blank"" title="""&tmpStr3&"""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                    Next
                    
                      re.Pattern="\[img=(\d*|),(\d*|),(left|right|center|absmiddle|)\](.[^\]]*)(\[\/img\])"
                    Set strMatchs=re.Execute(strContent)
                    For Each strMatch in strMatchs
                        tmpStr1=strMatch.SubMatches(0)
                        tmpStr2=strMatch.SubMatches(1)
                        tmpStr3=strMatch.SubMatches(2)
                        tmpStr4=checkURL(strMatch.SubMatches(3))
                        strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr4&""" target=""_blank"" title="""&tmpStr4&"""><img src=""images/image.gif"" alt="""" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                    Next               
            End IF
将其替换为:
复制内容到剪贴板
代码:
Else
                    re.Pattern="(\[img\])(.[^\]]*)\[\/img\]"
                Set strMatchs=re.Execute(strContent)
                For Each strMatch in strMatchs
                        tmpStr1=checkURL(strMatch.SubMatches(1))
                    strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr1&""" title=""Colalan's Blog"" class=""thickbox""><img src=""images/image.gif"" alt=""查看图片"" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                                Next
                    
                                re.Pattern="\[img=(left|right|center|absmiddle|)\](.[^\]]*)(\[\/img\])"
                Set strMatchs=re.Execute(strContent)
                For Each strMatch in strMatchs
                    tmpStr1=strMatch.SubMatches(0)
                    tmpStr2=checkURL(strMatch.SubMatches(1))
                    strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr2&""" title=""Colalan's Blog"" class=""thickbox""><img src=""images/image.gif"" alt=""查看图片"" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                Next
                  
                re.Pattern="\[img=(\d*|),(\d*|)\](.[^\]]*)\[\/img\]"
                Set strMatchs=re.Execute(strContent)
                For Each strMatch in strMatchs
                    tmpStr1=strMatch.SubMatches(0)
                    tmpStr2=strMatch.SubMatches(1)
                    tmpStr3=checkURL(strMatch.SubMatches(2))
                    strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr3&""" title=""Colalan's Blog"" class=""thickbox""><img src=""images/image.gif"" alt=""查看图片"" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                Next
                    
                re.Pattern="\[img=(\d*|),(\d*|),(left|right|center|absmiddle|)\](.[^\]]*)(\[\/img\])"
                Set strMatchs=re.Execute(strContent)
                For Each strMatch in strMatchs
                    tmpStr1=strMatch.SubMatches(0)
                    tmpStr2=strMatch.SubMatches(1)
                    tmpStr3=strMatch.SubMatches(2)
                    tmpStr4=checkURL(strMatch.SubMatches(3))
                    strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr4&""" title=""Colalan's Blog"" class=""thickbox""><img src=""images/image.gif"" alt=""查看图片"" style=""margin:0px 2px -3px 0px"" border=""0""/>查看图片</a>",1,-1,0)
                Next               
            End IF
注意上方“End IF“语句的位置!

并在其下方插入以下代码:
复制内容到剪贴板
代码:
            re.Pattern = "\[Thicka=(.[^\]]*),(.[^\]]*),(.[^\]]*),(.[^\]]*),(.[^\]]*)\](.[^\[]*)\[\/Thicka]"
            Set strMatchs=re.Execute(strContent)
            For Each strMatch in strMatchs
                tmpStr1=checkURL(strMatch.SubMatches(0))
                tmpStr2=strMatch.SubMatches(1)
                tmpStr3=strMatch.SubMatches(2)
                tmpStr4=strMatch.SubMatches(3)
                tmpStr5=strMatch.SubMatches(4)
                tmpStr6=strMatch.SubMatches(5)
                strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr1&""" title="""&tmpStr2&""" class=""thickbox""><img src="""&tmpStr6&""" border=""0"" width="""&tmpStr4&""" height="""&tmpStr5&""" alt="""&tmpStr3&"""/></a>",1,-1,0)
            Next
            
            re.Pattern = "\[Thickb=(.[^\]]*),(.[^\]]*),(.[^\]]*),(.[^\]]*),(.[^\]]*),(.[^\]]*)\](.[^\[]*)\[\/Thickb]"
            Set strMatchs=re.Execute(strContent)
            For Each strMatch in strMatchs
                tmpStr1=checkURL(strMatch.SubMatches(0))
                tmpStr2=strMatch.SubMatches(1)
                tmpStr3=strMatch.SubMatches(2)
                tmpStr4=strMatch.SubMatches(3)
                tmpStr5=strMatch.SubMatches(4)
                tmpStr6=strMatch.SubMatches(5)
                tmpStr7=strMatch.SubMatches(6)
                strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr1&""" title="""&tmpStr2&""" class=""thickbox"" rel="""&tmpStr6&"""><img src="""&tmpStr7&""" border=""0"" width="""&tmpStr4&""" height="""&tmpStr5&""" alt="""&tmpStr3&""" /></a>",1,-1,0)
            Next
            
            re.Pattern = "\[Thickc=(.[^\]]*),(.[^\]]*),(.[^\]]*),(.[^\]]*)\](.[^\[]*)\[\/Thickc]"
            Set strMatchs=re.Execute(strContent)
            For Each strMatch in strMatchs
                tmpStr1=checkURL(strMatch.SubMatches(0))
                tmpStr2=strMatch.SubMatches(1)
                tmpStr3=strMatch.SubMatches(2)
                tmpStr4=strMatch.SubMatches(3)
                tmpStr5=strMatch.SubMatches(4)
                tmpStr6=tmpStr1&"?TB_iframe=true&height="&tmpStr3&"&width="&tmpStr2
                strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr6&""" title="""&tmpStr5&""" class=""thickbox"">"&tmpStr4&"</a>",1,-1,0)
            Next
                       
            re.Pattern = "\[Thickd=(.[^\]]*),(.[^\]]*),(.[^\]]*),(.[^\]]*)\](.[^\[]*)\[\/Thickd]"
            Set strMatchs=re.Execute(strContent)
            For Each strMatch in strMatchs
                tmpStr1=checkURL(strMatch.SubMatches(0))
                tmpStr2=strMatch.SubMatches(1)
                tmpStr3=strMatch.SubMatches(2)
                tmpStr4=strMatch.SubMatches(3)
                tmpStr5=strMatch.SubMatches(4)
                tmpStr6=tmpStr1&"?height="&tmpStr3&"&width="&tmpStr2
                strContent=replace(strContent,strMatch.Value,"<a href="""&tmpStr6&"""? title="""&tmpStr5&""" class=""thickbox"">"&tmpStr4&"</a>",1,-1,0)
            Next
2、打开UBBconfig.asp文件,查找“flash,music,mediaplayer,realplayer,ed2k,”并在其后面插入“thickbox,”。查找“Tip="插入图像"”,并在其下一行插入:
复制内容到剪贴板
代码:
                case "ThickBox":
                           Tip="插入ThickBox效果"
3、打开UBBCode_IE.js文件,在文件最后加入:
复制内容到剪贴板
代码:
function UBB_ThickBox(){
          popnew("ThickBox/thickbox.asp","ThickBox",500,480)
}
4、最后打开UBBCode_Gecko.js文件,在文件最后加入:
复制内容到剪贴板
代码:
function UBB_ThickBox(){
          popnew("ThickBox/thickbox.asp","ThickBox",500,480)
}
使用是在UBB编辑模式下,点击“插入ThickBox效果”的图片,并在弹出窗口中选择你所想加入的类型,可以是图片,图片组,以及网页等内容,并填写有关项目的内容,按提示完成操作即可!

注意:ThickBox效果不能与lightbox效果同时使用!!


[ 本帖最后由 Cocacola 于 2007-5-5 13:43 编辑 ]
附件: 您所在的用户组无法下载或查看附件
My Life Is Blue......

www.Colalan.com

TOP

好像不 支持 IE7
以最小的改动去实现预期的效果。

TOP

哦?
ThickBox什么东西

TOP

在用..
不知道叫ThickBox...

TOP

引用:
原帖由 向导 于 2007-4-30 21 发表
好像不 支持 IE7
晕,我就用IE7,并在火狐2.0下测试过!!
My Life Is Blue......

www.Colalan.com

TOP

我按照楼主说的修改了,但是在发表文章的时候,IE状态栏有脚本错误,而且Thickbox的对话框也不会弹出来

TOP

引用:
原帖由 backpacker 于 2007-5-2 11:42 发表
我按照楼主说的修改了,但是在发表文章的时候,IE状态栏有脚本错误,而且Thickbox的对话框也不会弹出来
我的也是这个样子啊,出不来效果,怎么回事呢?

TOP

引用:
原帖由 backpacker 于 2007-5-2 11:42 发表
我按照楼主说的修改了,但是在发表文章的时候,IE状态栏有脚本错误,而且Thickbox的对话框也不会弹出来
自己用的尚好,可能是自己的代码修改太多与原版有差别,已知的是ThickBox与某些脚本有冲突。
具体的应用请参见ThickBox
My Life Is Blue......

www.Colalan.com

TOP



错误是这样的
附件: 您所在的用户组无法下载或查看附件

TOP

谢谢LZ,真敬业!

TOP

 26 123
发新话题