给[code]增加复制到剪贴板功能 FOR PJBLOG3

因为经常弄些代码,觉得弄上这个还是比较方便的.

PS:
FireFox 浏览器出于安全考虑,默认情况下禁止JS 对剪贴板的内容进行更改,所以此功能在FireFox下无效,需要客户端浏览者手动复制.

1.打开UBBCODE.ASP,找到
re.Pattern = "\[code\](.*?)\[\/code\]"
     strContent = re.Replace(strContent, "<div class=""UBBPanel""><div class=""UBBTitle""><img src=""images/code.gif"" style=""margin:0px 2px -3px 0px"" alt=""程序代码""/> 程序代码</div><div class=""UBBContent"">$1</div></div>")

修改为:
            '-----------代码标签----------------
            re.Pattern = "\[code\](.*?)\[\/code\]"
            Set strMatchs = re.Execute(strContent)
            For Each strMatch in strMatchs
               tmpStr1 = strMatch.SubMatches(0)
               Randomize
                rndID = "code"&Int(100000 * Rnd)
                strContent = Replace(strContent, strMatch.Value, "<div class=""UBBPanel""><div class=""UBBTitle""><EM onClick=""copycode(" + rndID + ");"" style=""float:right;cursor: pointer;font-weight: normal; font-style: normal"">复制内容到剪贴板</EM><img src=""images/code.gif"" style=""margin:0px 2px -3px 0px;border:0"" alt=""程序代码""/>程序代码</div><div class=""UBBContent"" id=" + rndID + ">"&tmpStr1&"</div></div>")
            Next
            Set strMatchs = Nothing


2.打开common.js,在最后插入如下代码:
var lang = new Array();
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
function copycode(obj) {
    if(is_ie && obj.style.display != 'none') {
        var rng = document.body.createTextRange();
        rng.moveToElementText(obj);
        rng.scrollIntoView();
        rng.select();
        rng.execCommand("Copy");
        rng.collapse(false);
    }
}

好了,到后台更新缓存.

[本日志由 小戒 于 2008-08-28 02:43 AM 编辑]
上一篇: 一些开发中实用的常用ASP函数
下一篇: eval(function(p,a,c,k,e,d)系列加密解密javascript程序
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: code 复制 剪贴板 PJBLOG
相关日志:
评论: 5 | 引用: 0 | 查看次数: -
sam
回复回复sam[2010-01-03 10:42 PM | | | del]
这个能不能跟新下啊 。。。。。。。。。。。。
yutao.me
回复回复yutao.me[2009-07-01 07:29 AM | | | del]
确实遮住了,需要修改的名剑名字看不见
mini
回复回复mini[2008-08-09 04:19 AM | | | del]
此文章左侧guanggao把内容挡住了,没看到要修改什么文件

根据自己的记录,这是我第10次发评论了。说我内容有限制级文字。。。
没弄懂限制了哪个字。。。郁闷。的继续测试。。评论。
回复来自 小戒 的评论 小戒 于 09/08/2008 14:49:44 回复
没有遮住的.直接点击复制内容到剪贴板就可以直接复制了.
夜舞魅
回复回复夜舞魅[2008-08-03 10:41 AM | | | del]
这个很实用噢...用了,谢谢!
evio
回复回复evio[2008-07-25 04:00 PM | | | del]
额,蛮实用
回复来自 小戒 的评论 小戒 于 25/07/2008 18:57:06 回复
呵呵。
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 支持Gravatar头像.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.