<script>
function getSel()
{
var txt = '';
var foundIn = '';
if(window.getSelection)
{
txt = window.getSelection();
foundIn = 'window.getSelection()';
}else if(document.getSelection)
{
txt = document.getSelection();
foundIn = 'document.getSelection()';
}else if(document.selection)
{
txt = document.selection.createRange().text;
foundIn = 'document.selection.createRange()';
}else
return;
document.forms[0].selectedtext.value = 'Found in: ' + foundIn + '\n' + txt;
}
</script>
<form>
<textarea name="selectedtext" rows="5" cols="50">
</textarea><br>
<input type="button" value="Getselection" onmousedown="getSel()">
</form>
以上的代码可以捕获到选中的网页中的纯文本内容(不含HTML标签)
如果想获得包含html的内容,将document.selection.createRange().text改成document.selection.createRange().htmlText
[PHP]wordpress划词评论插件
发现一个用于Wordpress划词评论插件
下载地址:http://code.google.com/p/select-text-comment/downloads/list
使用方法:
上传/激活
把”<?php add_text_comment();?>”这段代码复制到模板里的”single.php”,比如放到”get_sidebar()”之前。然 后还是在”single.php”里,找个合适的地方放上”<span id=”cloSEOpenselctcmt”>关闭划词评论</span>”这段。这样就算大功告成了。
如果觉得不好看,可以自己修改样式。
[应用]Diigo划词评论
一个不错的应用网站:http://www.diigo.com
[Javascript]测试划词搜索
<script>
document.body.onload = tt;
function tt()
{
alert('dddddddd');
}
var b;
function te() //onselect事件
{
b=1;
}
function a() //onmouseup事件
{
if (b==1){
alert(document.selection.createRange().text);
b=0;
}
}
</script>
<body onselect ="JavaScript:te();" onmouseup ="JavaScript:a();">
onselectstart ="alert('开始');"
onmouseup="alert(document.selection.createRange().text);"
//firefox使用 window.getSelection()
网页测试测试测试才儿时才扼杀
<br>
dddddddddddddddd
<SCRIPT LANGUAGE="JavaScript">
function SelText(){
document.selection.createRange();
document.all.TestText.value = unescape(document.selection.createRange().text);
alert("选区左侧宽度:"+ document.selection.createRange().boundingLeft);
alert("选区上方高度:" + document.selection.createRange().boundingTop);
alert("选区高度:" + document.selection.createRange().boundingHeight);
alert("选区宽度:" + document.selection.createRange().boundingWidth);
}
</script>
<input type="text" id="TestText" name="TestText" value="" accesskey="A">
<input type="button" name="btnTest" value="Test" onclick="SelText()">
<hr>
对象: document.selection.createRange(); 返回TextRange 对象<br>
TextRange 属性<br>
boundingHeight 获取绑定 TextRange 对象的矩形的高度。 <br>
boundingLeft 获取绑定 TextRange 对象的矩形左边缘和包含 TextRange 对象的左侧之间的距离。 <br>
boundingTop 获取绑定 TextRange 对象的上边缘和包含 TextRange 对象的顶边之间的距离。 <br>
boundingWidth Retrieves the width of the rectangle that bounds the TextRange object. <br>
htmlText 获取绑定 TextRange 对象的矩形的宽度。 <br>
offsetLeft 获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置。<br>
offsetTop 获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置。 <br>
text 设置或获取范围内包含的文本。 <br>
</body>
[Javascript]Js划词搜索实现
网上流传的Js版划词搜索代码浏览器兼容上有问题,经过两天的改写终于做出可兼容非IE的版本.
JS代码
默认搜索引擎为:google
转自: js中国 http://www.javascriptcn.cn
http://JavaScriptxml.5d6d.com/thread-2-1-1.html
if (navigator.appName=="Microsoft Internet Explorer") {
document.body.onload=adddiv;
document.onmousedown=recordobj;
document.ondblclick=dbclick;
document.onmouseup=showselect;
} else
{
//firefox
window.onload=adddiv();
window.onmousedown=recordobj;
window.ondblclick=dbclick();
window.onmouseup=showselect;
}
///////////////////////////////////////////////////////////////////////////////////
var starobj,
isdb=false,
allow=true;
///////////////////////////////////////////////////////////////////////////////////
function isallow()
{
if(allow){
allow=false;
alert('is closed');
}
else{
allow=true;
alert('is opend');
}
}
////////////////////////////////////////////////////////////////////////////////////
function dbclick()
{
isdb=true;
}
/////////////////////////////////////////////////////////////////////////////////////
//function recordobj(evt)
//{
//starobj=event.srcElement; //IE
//starobj=evt.target
//}
function recordobj(evt) {
evt = (evt) ? evt : ((window.event) ? window.event : "")
if (evt) {
starobj = (evt.target) ? evt.target : evt.srcElement
}
//starobj=evt.srcElement;
}
////////////////////////////////////////////////////////////////////////////////////////
function showselect(evt) {
//test
var obj;
var strlen;
evt = (evt) ? evt : ((window.event) ? window.event : "")
if (evt) {
if (evt.target)
{
obj = evt.target;
strlen = window.getSelection().toString();
}
else
{
obj = event.srcElement;
strlen = document.selection.createRange().text;
}
}
//test
var str="";
if(obj.tagName!="A"&&obj.tagName!="INPUT"&&obj==starobj&&!isdb&&allow)
{
//var oText=document.selection.createRange(); //IE
//alert(window.getSelection());
//alert(window.getSelection().toString().length);
//if(window.getSelection().length>0) //错误写法
////////////
//if(window.getSelection().toString().length>0)
if(strlen.length>0)
{
//alert("ddd"+window.getSelection().boundingWidth());
//alert("dddddddddddddddddddd000");
str=strlen;
//oText.text="BuB"+oText.text+"EuE";
}
//oText.select();
//window.getSelection.select()
}
//alert("自负" + str);
searchgoogle(str,evt);
isdb=false;
}
//////////////////////////////////////////////////////////////////////////////////////////
function searchgoogle(str,evt)
{
var obj=document.getElementById("searchgoogle");
//alert("长度"+str.toString().length);
if(str.toString().length>0)
{
//alert("tongguo");
//alert(obj);
obj.style.display="block";
obj.style.position="absolute";
obj.style.zindex=999;
//alert("y" + evt.clientY + "X" + evt.clientX);
//
//alert(document.body.scrollTop.toString());
//alert("new" + document.documentElement.scrollTop.toString());
//
if(navigator.appName=="Microsoft Internet Explorer")
{
obj.style.widht=80;
obj.style.posTop=document.body.scrollTop+event.y–25;
obj.style.posLeft=document.body.scrollLeft+event.x+5;
}
else
{
obj.style.width = "100px";
obj.style.top=evt.pageY–25;
obj.style.left=evt.pageX+5;
}
obj.innerHTML="<a target=_blank href=http://www.google.com/search?ie=UTF-8&oe=UTF-8&q="+encodeURI(str)+" style='BORDER- RIGHT: royalblue thin solid; BORDER-TOP: royalblue thin solid; FONT- WEIGHT: bold; BORDER- LEFT: royalblue thin solid; CLIP: rect(auto auto auto auto); COLOR: #ffffff; BORDER- BOTTOM: royalblue thin solid; BACKGROUND-COLOR: inactivecaption; TEXT- DECORATION: none'>Search It!</a>";
}
else
{
obj.style.display="none";
}
}
///////////////////////////////////////////////////////////////////////////////////////////////
function adddiv()
{
var mobj = document.createElement("div");
mobj.id="searchgoogle";
document.body.appendChild(mobj);
}
//–>
直接在html页面中调用即可实现网页划词搜索功能.
[JQuery]jQuery插件---Clipboard Copy(复制)。
这个插件是用来把页面的内容复制到剪贴板的插件,使用起来很简单。
$.copy("字符串") // 把字符串复制到剪贴板
$.copy(varStr) // 把变量varStr的值复制到剪贴板
$("#elmID").copy() // 复制id为elmID的节点里的文字
$("#elmID input").copy() // 复制id为elmID的节点下所有input的值
$("#elmID input").copy("|") // 复制id为elmID的节点下所有input的值,并以“|”隔开
好了,看看演示的效果吧!
值得注意的是:
$("#elmID").copy() 只id为elmID的节点里的文字,而不复制elmID的子节点的文字
("#elmID *").copy() 只复制elmID的子节点的文字,而不复制id为elmID的节点里的文字
我测试的时候是这样的,整理的时候没那么仔细,大家也测试看看是不是这样。
转:http://www.94this.com.cn/article/247.htm
本篇文章来源于 cssrain.cn 原文链接:http://www.cssrain.cn/article.asp?id=1157
[Javascript]鼠标事件
| 事件 | 浏览器支持 | 描述 |
| onClick | IE3|N2|O3 | 鼠标点击事件,多用在某个对象控制的范围内的鼠标点击 |
| onDblClick | IE4|N4|O | 鼠标双击事件 |
| onMouseDown | IE4|N4|O | 鼠标上的按钮被按下了 |
| onMouseUp | IE4|N4|O | 鼠标按下后,松开时激发的事件 |
| onMouSEOver | IE3|N2|O3 | 当鼠标移动到某对象范围的上方时触发的事件 |
| onMouseMove | IE4|N4|O | 鼠标移动时触发的事件 |
| onMouSEOut | IE4|N3|O3 | 当鼠标离开某对象范围时触发的事件 |
| onKeyPress | IE4|N4|O | 当键盘上的某个键被按下并且释放时触发的事件.[注意:页面内必须有被聚焦的对象] |
| onKeyDown | IE4|N4|O | 当键盘上某个按键被按下时触发的事件[注意:页面内必须有被聚焦的对象] |
| onKeyUp | IE4|N4|O | 当键盘上某个按键被按放开时触发的事件[注意:页面内必须有被聚焦的对象] |
| 事件 | 浏览器支持 | 描述 |
| onAbort | IE4|N3|O | 图片在下载时被用户中断 |
| onBeforeUnload | IE4|N|O | 当前页面的内容将要被改变时触发的事件 |
| onError | IE4|N3|O | 捕抓当前页面因为某种原因而出现的错误,如脚本错误与外部数据引用的错误 |
| onLoad | IE3|N2|O3 | 页面内空完成传送到浏览器时触发的事件,包括外部文件引入完成 |
| onMove | IE|N4|O | 浏览器的窗口被移动时触发的事件 |
| onResize | IE4|N4|O | 当浏览器的窗口大小被改变时触发的事件 |
| onScroll | IE4|N|O | 浏览器的滚动条位置发生变化时触发的事件 |
| onStop | IE5|N|O | 浏览器的停止按钮被按下时触发的事件或者正在下载的文件被中断 |
| onUnload | IE3|N2|O3 | 当前页面将被改变时触发的事件 |
| 事件 | 浏览器支持 | 描述 |
| onBlur | IE3|N2|O3 | 当前元素失去焦点时触发的事件 [鼠标与键盘的触发均可] |
| onChange | IE3|N2|O3 | 当前元素失去焦点并且元素的内容发生改变而触发的事件 [鼠标与键盘的触发均可] |
| onFocus | IE3|N2|O3 | 当某个元素获得焦点时触发的事件 |
| onReset | IE4|N3|O3 | 当表单中RESET的属性被激发时触发的事件 |
| onSubmit | IE3|N2|O3 | 一个表单被递交时触发的事件 |
| 事件 | 浏览器支持 | 描述 |
| onBounce | IE4|N|O | 在Marquee内的内容移动至Marquee显示范围之外时触发的事件 |
| onFinish | IE4|N|O | 当Marquee元素完成需要显示的内容后触发的事件 |
| onStart | IE4|N|O | 当Marquee元素开始显示内容时触发的事件 |
| 事件 | 浏览器支持 | 描述 |
| onBeforeCopy | IE5|N|O | 当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发的事件 |
| onBeforeCut | IE5|N|O | 当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发的事件 |
| onBeforeEditFocus | IE5|N|O | 当前元素将要进入编辑状态 |
| onBeforePaste | IE5|N|O | 内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发的事件 |
| onBeforeUpdate | IE5|N|O | 当浏览者粘贴系统剪贴板中的内容时通知目标对象 |
| onContextMenu | IE5|N|O | 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件 [试试在页面中的<body>中加入onContentMenu="return false"就可禁止使用鼠标右键了] |
| onCopy | IE5|N|O | 当页面当前的被选择内容被复制后触发的事件 |
| onCut | IE5|N|O | 当页面当前的被选择内容被剪切时触发的事件 |
| onDrag | IE5|N|O | 当某个对象被拖动时触发的事件 [活动事件] |
| onDragDrop | IE|N4|O | 一个外部对象被鼠标拖进当前窗口或者帧 |
| onDragEnd | IE5|N|O | 当鼠标拖动结束时触发的事件,即鼠标的按钮被释放了 |
| onDragEnter | IE5|N|O | 当对象被鼠标拖动的对象进入其容器范围内时触发的事件 |
| onDragLeave | IE5|N|O | 当对象被鼠标拖动的对象离开其容器范围内时触发的事件 |
| onDragOver | IE5|N|O | 当某被拖动的对象在另一对象容器范围内拖动时触发的事件 |
| onDragStart | IE4|N|O | 当某对象将被拖动时触发的事件 |
| onDrop | IE5|N|O | 在一个拖动过程中,释放鼠标键时触发的事件 |
| onLoseCapture | IE5|N|O | 当元素失去鼠标移动所形成的选择焦点时触发的事件 |
| onPaste | IE5|N|O | 当内容被粘贴时触发的事件 |
| onSelect | IE4|N|O | 当文本内容被选择时的事件 |
| onSelectStart | IE4|N|O | 当文本内容选择将开始发生时触发的事件 |
| 事件 | 浏览器支持 | 描述 |
| onAfterUpdate | IE4|N|O | 当数据完成由数据源到对象的传送时触发的事件 |
| onCellChange | IE5|N|O | 当数据来源发生变化时 |
| onDataAvailable | IE4|N|O | 当数据接收完成时触发事件 |
| onDatasetChanged | IE4|N|O | 数据在数据源发生变化时触发的事件 |
| onDatasetComplete | IE4|N|O | 当来子数据源的全部有效数据读取完毕时触发的事件 |
| onErrorUpdate | IE4|N|O | 当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件 |
| onRowEnter | IE5|N|O | 当前数据源的数据发生变化并且有新的有效数据时触发的事件 |
| onRowExit | IE5|N|O | 当前数据源的数据将要发生变化时触发的事件 |
| onRowsDelete | IE5|N|O | 当前数据记录将被删除时触发的事件 |
| onRowsInserted | IE5|N|O | 当前数据源将要插入新数据记录时触发的事件 |
| 事件 | 浏览器支持 | 描述 |
| onAfterPrint | IE5|N|O | 当文档被打印后触发的事件 |
| onBeforePrint | IE5|N|O | 当文档即将打印时触发的事件 |
| onFilterChange | IE4|N|O | 当某个对象的滤镜效果发生变化时触发的事件 |
| onHelp | IE4|N|O | 当浏览者按下F1或者浏览器的帮助选择时触发的事件 |
| onPropertyChange | IE5|N|O | 当对象的属性之一发生变化时触发的事件 |
| onReadyStateChange | IE4|N|O | 当对象的初始化属性值发生变化时触发的事件 |
[PHP]让PBDigg和UCenter通信成功
这个是我在内网搭的,看到pb出2.0正式版啦,就来看下
其实很简单,你可以先安装好PB,然后修改根目录下data\SQL.inc.php文件,只要在最下边的“?>”之前,添加如下代码:
/*===============UCenter======================*/
define(’UC_CONNECT’, ‘mySQL’);
define(’UC_DBHOST’, ‘localhost’);
define(’UC_DBUSER’, ‘数据库用户名’);
define(’UC_DBPW’, ‘数据库密码’);
define(’UC_DBNAME’, ‘数据库名’);
define(’UC_DBCHARSET’, ‘utf8′); /*编码*/
define(’UC_DBTABLEPRE’, ‘`test`.uc_’);/*数据库表名前缀,uc的*/
define(’UC_DBCONNECT’, ‘0′);
define(’UC_KEY’, ‘f5J0Y525Ca9bk1CfP0u2BcdcZ4Y0d0B6c6B9H8Wa02Je8fRc1ej2yc61s897Jf22′);/*key 你可以在这里边随便改个地方然后拿来用就可以啦*/
define(’UC_API’, ‘http://bb.clin003.com/u/c’);/*这个是uc的路径url*/
define(’UC_CHARSET’, ‘utf-8′);
define(’UC_IP’, ‘192.168.1.96′);/*uc的所在ip*/
define(’UC_APPID’, ‘2′);
define(’UC_PPP’, ‘20′);
这个是我参考uchome文件修改来的。
然后到PB后台:系统设置 » 功能设置 开启UC整合,确定就可以啦,
然后再到uc后台编辑pb的应用设置
应用名称:随便
接口 URL:http://bb.clin003.com/pb (你的pb所用的url)
应用 IP:可以不填
通信密钥:上边的,让你修改几个地方的那串字符
是否开启同步登录:是
标签单条显示模板:
<a href=”{url}” target=”_blank”>{subject}</a>
标签模板标记说明:可以没有
应用类型:其他
是否接受通知:是
然后提交,就看到通信成功啦
[UI]Apple网站Web可用性设计分析
第 1 页 Apple网站Web可用性设计分析 [1]
第 2 页 Apple网站Web可用性设计分析 [2]
第 3 页 Apple网站Web可用性设计分析 [3]
[Flex]RIAMeeting第九次会议现场纪实及资料下载
PPT和源码,还有相关技术资料,在这里下载:
2.示例文件(源码)
4.现场视频1
5.现场视频2
注:第三个文档来自Adobe Developers Center,感谢孙泉同学的翻译
参考:http://www.adobe.com/devnet/flex/articles/dependency_injection.html
Mikel


