给[code]增加复制到剪贴板功能 FOR PJBLOG3
作者:小戒 日期:2008-07-20
因为经常弄些代码,觉得弄上这个还是比较方便的.
PS:
FireFox 浏览器出于安全考虑,默认情况下禁止JS 对剪贴板的内容进行更改,所以此功能在FireFox下无效,需要客户端浏览者手动复制.
1.打开UBBCODE.ASP,找到
修改为:
2.打开common.js,在最后插入如下代码:
好了,到后台更新缓存.
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>")
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
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);
}
}
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 | 查看次数: -
回复
|
|
]这个能不能跟新下啊 。。。。。。。。。。。。
确实遮住了,需要修改的名剑名字看不见
此文章左侧guanggao把内容挡住了,没看到要修改什么文件
根据自己的记录,这是我第10次发评论了。说我内容有限制级文字。。。
没弄懂限制了哪个字。。。郁闷。的继续测试。。评论。
小戒 于 回复
根据自己的记录,这是我第10次发评论了。说我内容有限制级文字。。。
没弄懂限制了哪个字。。。郁闷。的继续测试。。评论。
没有遮住的.直接点击复制内容到剪贴板就可以直接复制了.
这个很实用噢...用了,谢谢!
额,蛮实用
小戒 于 回复
呵呵。
发表评论


