标签为 IE 的存档
LBS修改-完善FF自动复制到剪贴板功能
Author: robay22 九 2007
曾经用过”生活笔谈的”的这个功能,只是可惜,他的版本只能用于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” />
JS实现的页面跳转功能
Author: robay21 九 2007
JS实现的页面跳转功能,可以兼容IE和FF,其它的没有条件试!
一直想要这个功能的代码,今天恰好碰到了,就写转在自己这里,留作备用吧!
还没有想出用在哪里呢,呵呵.
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ />
<meta http-equiv=”Content-Language” content=”zh-cn” />
<title>这个jsFF下运行不了,该如何修改?</title>
</head>
<body>
<div>
<h2>页面载入中… 请等待<span id=”leavetime”>5</span>秒,如果载入有问题,请点此</h2>
</div>
</body>
</html>
<script language=”javascript”>
(function (){
var lt = document.getElementById(“leavetime”);
((lt.innerHTML-0)<1)?location=’http://www.a-boss.com’:lt.innerHTML–;
window.setTimeout(arguments.callee,1000);
})();
</script>
LBS修改-随机日志出现的问题
Author: robay16 九 2007
昨天开始试用“生活笔谈”的随机日志功能,修改改好程序后,发现有点小问题,在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>
#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%;
}
LBS修改-自动换行的解决方案
Author: robay15 九 2007
这几天发表日志的时候,有时候要引用些程序代码,可有些代码过长,结果搞得我的页面大乱,十分不美观,于是通过了下面两个办法解决了:
一、本来我的网页最佳的显示分辩率是800*600以上的,现在估计用这种分辩率人很少了吧?于是改成了1024*768的效果,宽度长了,换行的问题自然就解决了。 [lol]
二、代码控制,说明如下,只是个例子,可以根据需要自行调整:
1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap : break-word ;或者word-break:break-all;实现强制断行
#mainwrap{word-break:break-all; width:200px;}
或者
#mainwrap{word-wrap:break-word; width:200px;}<div id=”wrap”>abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
效果:可以实现换行
2.(Firefox浏览器)连续的英文字符和阿拉伯数字的断行,Firefox的所有版本的没有解决这个问题,我们只有让超出边界的字符隐藏或者,给容器添加滚动条
#wrap{word-break:break-all; width:200px; overflow:auto;}
<div id=”wrap”>abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
效果:容器正常,内容隐藏
如果想知道更多,请仔细阅读 http://www.blueidea.com/tech/web/2006/3469.asp 的贴子。
因为我的是由于使用代码才会出现这种问题所以,我只对styles.css中的.code段进行了修改.添加了代码:
word-break:break-all;
overflow:auto;
width: 500px;
问题搞定.

