标签为 生活 的存档

曾经用过”生活笔谈的”的这个功能,只是可惜,他的版本只能用于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” />

LBS修改-随机日志出现的问题

昨天开始试用“生活笔谈”的随机日志功能,修改改好程序后,发现有点小问题,在FF里浏览网页没有问题,但用IE在查看时发现有些日志里一部分和随机日志模块平行的外围容器中文字不见了!真是郁闷呀,在他那里没有找到相关的问题说明,没有办法自己解决吧。

问题还是出在了CSS上面,举个例子会很明白:
css :

body { margin: 10px 50px;}
#contener { border: 1px solid #000; background-color: yellow;}
#floatRight { float: right; border: 1px solid red; color: red; width: 30%;}
#contenu { border: 1px solid blue; color: blue;}
.spacer { clear: both; border: 1px solid #FF00FF; color: #FF00FF;}

xhtml :

<div id=”contener”>
<b>#contener</b>
<div id=”floatRight”>
<b>#floatRight</b> : Float block at the right of the block #contenu
</div>
<div id=”contenu”>
<b>#contenu</b> : Simple block
</div>
<div class=’spacer’>
<b>.spacer</b> : a “spacer” block…
</div>
</div>

正确应该显示为:
http://www.jluvip.com/blog/uploads/200606/08_181038_ok2.png

Internet Explorer 6 显示为 :
http://www.jluvip.com/blog/uploads/200606/08_181047_ie_bug2.png

#contener 层的文字和#contenu层不见了! 只有#contener的背景颜色!

解决办法 :

body { margin: 10px 50px;}
#contener {
position: relative; /* 增加的 */
border: 1px solid #000;
background-color: yellow;
}
#floatRight {
position: relative; /* 增加的*/
float: right;
border: 1px solid red;
color: red;
width: 30%;
}

因为网络的原因,最近在博客上提交评论或留言的时候老是提示“没有权限”或者“超时”的问题,从“生活笔谈”那里找到这篇文章,给自己用下,正好解决下这个问题,添加在发表文章、评论及留言时将内容自动复制到剪贴板这一功能。具体步骤如下:

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

theForm.submit()

在其上添加:

saveToClipBoard();

然后再在文档末尾添加:

function saveToClipBoard(){
var isCopy, theForm;
isCopy=document.all.iscopy.checked;
theForm=document.inputform;
if(isCopy==true){
clipboardData.setData(“Text”,theForm.message.value);
}
}

第二步:修改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 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;saveToClipBoard();document.inputform.submit();” class=”button” />

记得在安装完这个版本之初,在发表日志的时候便发现首行的空格不起作用,这样排版很不方便,于是在网上找下下,从∽生活笔谈∽那里找到这解决的办法,很完美的方法,转贴如下:

✲ 首先打开 class/UBBcode.asp 搜索到:

// List

✲ 在其上一行插入:

str=str.replace(/\[space\]/ig,’  ’);

✲ 接着打开“edit.asp”搜索到:

“Insert Subscript” /></a>

✲ 替换成

“Insert Subscript” /></a> <a href=”javascript:space()”><img src=”<%=theCache.settings["imageFolder"]%>/ubbcode/bb_space.gif” alt=”Insert SBC case space” /></a>

✲ 最后打开 messageform.js 在最后面插入:

function space() {
var txtarea = document.inputform.message;
if (txtarea.createTextRange && txtarea.caretPos) {
var caretPos = txtarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length – 1) == ‘ ‘ ? ‘ ‘ : ”;
txtarea.focus();
} else {
txtarea.value += ”;
txtarea.focus();
}
}

✲ 还需要把下面的图放入相应“风格(styles)”的 images/ubbcode 文件夹内,注意保存的文件名称为:bb_space.gif
http://www.a-boss.com/blog/styles/coffee/images/ubbcode/bb_space.gif