关于文摘插件提交表单的开发
2009-07-15 19:49
381 查看
1,要实现的功能就是在浏览器加一个右键快捷方式提交所选的网页或图片内容!实例应用在博客程序里,就是在你已登陆的情况下,浏览网页时看到比较好的新闻或图片!你就可以选中内容--》点右键出现“加入我的网摘”,这时就会弹出一个IE窗口,自动将网页标题加入表单的对应标题内容,及选中内容加入相应内容项,还有引用网址等!
2,现在 我们来看一下这个功能如何实现的!
首先我们用文本编辑器写入:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\将此页加到我的网摘]
@="http://域名/add.aspx"
。另存为.REG文件,即写入注册表项添加右键菜单
http://域名/add.aspx为处理页
<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
<title></title>
</head>
<body lang="zh-CN">
<form id=form1 action="User_Post_Blog2.asp" method="post">
<P>
<input type="hidden" name="title" id=title1>
<input type="hidden" name="url" id=url1>
<input type="hidden" name="js" id=js1>
<TEXTAREA id=content1 style="DISPLAY: none" name="content"></TEXTAREA> </P>
</form>
</body>
</html>
<script language="Javascript">
var oWin = external.menuArguments;
var oDoc = oWin.document;
var titlestr;
var start, end;
var getzy;
start = end = -1;
titlestr = oWin.document.selection.createRange().text;
for( var i = 0; i < titlestr.length; i++ )
{
if( start == -1 )
if( titlestr.charAt( i ) == '\n' || titlestr.charAt( i ) == '\r' )
continue;
else
start = i;
else if( titlestr.charAt( i ) == '\n' || titlestr.charAt( i ) == '\r' )
{
end = i;
break;
}
}
if( start != -1 && end != -1 && start < end )
form1.title1.value = oDoc.title;
else
form1.title1.value = oDoc.title;
for( var i = 0; i < oDoc.images.length; i++ )
{
oDoc.images( i ).src = oDoc.images( i ).src;
}
for( var i = 0; i < oDoc.links.length; i++ )
{
oDoc.links( i ).href = oDoc.links( i ).href;
}
form1.url1.value = oDoc.URL ;
getzy = oDoc.selection.createRange().text;
form1.js1.value = getzy.substr(0, 250)+"" ;
form1.content1.innerText = oWin.document.selection.createRange().htmlText;
form1.submit();
</script>
相信很多人都看懂了,上面是一个普通的表单,下面是一个script,关键还在下面
oDoc.title
网页标题
oDoc.URL网页地址
getzy = oDoc.selection.createRange().text; '以文本方式取得所选 的内容
form1.js1.value = getzy.substr(0, 250)+"..." ; '取得前250个字符,之…结束,作为简介
form1.content1.innerText = oWin.document.selection.createRange().htmlText; HTML方式取得所选内容
form1.submit(); 自动提交表单到FORM里的ACTION即:User_Post_Blog2.asp
到这里已经做到了信息的获取!之后就是普通的ASP表单处理了!
像标题的VALUE就用value=<%=request("title")%>
其它的照样子搬就是了!
转自网上,地址已不详。
2,现在 我们来看一下这个功能如何实现的!
首先我们用文本编辑器写入:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\将此页加到我的网摘]
@="http://域名/add.aspx"
。另存为.REG文件,即写入注册表项添加右键菜单
http://域名/add.aspx为处理页
<html>
<head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
<title></title>
</head>
<body lang="zh-CN">
<form id=form1 action="User_Post_Blog2.asp" method="post">
<P>
<input type="hidden" name="title" id=title1>
<input type="hidden" name="url" id=url1>
<input type="hidden" name="js" id=js1>
<TEXTAREA id=content1 style="DISPLAY: none" name="content"></TEXTAREA> </P>
</form>
</body>
</html>
<script language="Javascript">
var oWin = external.menuArguments;
var oDoc = oWin.document;
var titlestr;
var start, end;
var getzy;
start = end = -1;
titlestr = oWin.document.selection.createRange().text;
for( var i = 0; i < titlestr.length; i++ )
{
if( start == -1 )
if( titlestr.charAt( i ) == '\n' || titlestr.charAt( i ) == '\r' )
continue;
else
start = i;
else if( titlestr.charAt( i ) == '\n' || titlestr.charAt( i ) == '\r' )
{
end = i;
break;
}
}
if( start != -1 && end != -1 && start < end )
form1.title1.value = oDoc.title;
else
form1.title1.value = oDoc.title;
for( var i = 0; i < oDoc.images.length; i++ )
{
oDoc.images( i ).src = oDoc.images( i ).src;
}
for( var i = 0; i < oDoc.links.length; i++ )
{
oDoc.links( i ).href = oDoc.links( i ).href;
}
form1.url1.value = oDoc.URL ;
getzy = oDoc.selection.createRange().text;
form1.js1.value = getzy.substr(0, 250)+"" ;
form1.content1.innerText = oWin.document.selection.createRange().htmlText;
form1.submit();
</script>
相信很多人都看懂了,上面是一个普通的表单,下面是一个script,关键还在下面
oDoc.title
网页标题
oDoc.URL网页地址
getzy = oDoc.selection.createRange().text; '以文本方式取得所选 的内容
form1.js1.value = getzy.substr(0, 250)+"..." ; '取得前250个字符,之…结束,作为简介
form1.content1.innerText = oWin.document.selection.createRange().htmlText; HTML方式取得所选内容
form1.submit(); 自动提交表单到FORM里的ACTION即:User_Post_Blog2.asp
到这里已经做到了信息的获取!之后就是普通的ASP表单处理了!
像标题的VALUE就用value=<%=request("title")%>
其它的照样子搬就是了!
转自网上,地址已不详。
相关文章推荐
- 关于文摘插件提交表单的开发
- 关于文摘插件提交表单的开发
- 关于JQuery中两个要注意的地方(结合Extjs的grid滚动条及使用form插件提交表单)
- JAVAWEB开发之Struts2详解(四)——ognl与valueStack(重点)、Struts常用标签、防止表单重复提交、Struts2中内置json插件
- jQuery通过jquery.form.js插件使用AJAX提交Form表单
- 关于chrome插件开发(二)
- 关于提交Form表单控件disabled属性为true的name值不会传到后台
- 使用jQuery.form插件,实现完美的表单异步提交
- 那些年java web开发中遇到的问题(4)---如何实现表单提交(插入数据到mysql)
- jQuery Form 表单提交插件----Form 简介,官方文档,官方下载地址
- 关于AjaxSumit提交表单ckeditor的值不实时更新的解决办法
- PHP关于表单提交后分页函数的那点事--POST表单分页实现
- 关于appcan的插件开发
- 关于appcan的插件开发
- jquery之表单插件(通过Ajax提交表单之一)
- 关于web单表单不同提交的实现方法
- wap开发时,UC浏览器,遇到表单重复提交状况解决方案。
- Ajax表单提交插件jquery form
- 关于form表单底下 button自动提交表单的问题
- 关于表单提交中,元素属性为readonly或disabled的一个小细节~~