曾经用过”生活笔谈的”的这个功能,只是可惜,他的版本只能用于IE的复制,而FF则不支持,结果搞得我在FF下不能发表日志,还要切换在IE下才行,用google搜到了一个借用swf文件实现的代码,因为对swf不了解,原理不太清楚,但经试用后发现对英文支持的很好,但对中文却支持的不好,显示的全是代码形式,无力解决,只好用了另外一种更合适的方法,今天抽时间修正了下这个功能,可以兼容诸多的浏览器了.
鉴于改动太多,还是把修改的全过程贴一下吧!

第一步:修改messageform.js,查找到:

theForm.submit()

在其上添加:

CopyText();

然后再在文档末尾添加下面这段代码:

function CopyText() {
var newisCopy;
newisCopy=document.getElementById(“iscopy”).checked;
if(newisCopy==true){
//copyToClipboard(document.getElementById(id).value);
copyToClipboard(document.getElementById(“message”).value);
}

}

function copyToClipboard(txt) {
if(window.clipboardData) {
window.clipboardData.clearData();
window.clipboardData.setData(“Text”, txt);
} else if(navigator.userAgent.indexOf(“Opera”) != -1) {
window.location = txt;
} else if (window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege(“UniversalXPConnect”);
} catch (e) {
alert(“被浏览器拒绝!\n请在浏览器地址栏输入’about:config’并回车\n然后将’signed.applets.codebase_principal_support’设置为’true’”);
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip)
return;
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return;
trans.addDataFlavor(‘text/unicode’);
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = txt;
str.data = copytext;
trans.setTransferData(“text/unicode”,str,copytext.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
}

第二步:修改article.asp,查找到:

<input name=”e_smilies” type=”checkbox” value=”true”<%if(objArticle.ubbFlags!=”html” && objArticle.ubbFlags.substr(4,1)==”1″) write(” checked=\”checked\”")%> /> <%=lang["e_smilies"]%>

修改成:

<input name=”e_smilies” type=”checkbox” value=”true”<%if(objArticle.ubbFlags!=”html” && objArticle.ubbFlags.substr(4,1)==”1″) write(” checked=\”checked\”")%> /> <%=lang["e_smilies"]%><br />
<input id=”iscopy” name=”iscopy” type=”checkbox” value=”true” checked=”checked” />自动复制

第三步:修改global.asp,查找到:

<input name=”comm_hidden” type=”checkbox” value=”true”<%if(bHidden) write(” checked=\”checked\”")%> /> <%=lang["comm_hidden"]%>

在其上面添加:

<input name=”iscopy” type=”checkbox” value=”true” checked=”checked” />自动复制<br />

然后再查找到:

<input type=”submit” name=”btnSubmit” value=” <%=lang["post_comment"]%> ” onclick=”this.disabled=true;document.inputform.submit();” class=”button” />

修改成:

<input type=”submit” name=”btnSubmit” value=” <%=lang["post_comment"]%> ” onclick=”this.disabled=true;CopyText();document.inputform.submit();” class=”button” />