关于文摘插件提交表单的开发


 

实例:具体功能见“我爱博客(http://www.woiblog.com)”里有相关使用介绍!

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://www.woiblog.com/UserManage/addblog.asp"

。另存为.REG文件,即写入注册表项添加右键菜单

http://www.woiblog.com/UserManage/addblog.asp为处理页
源文件如下:

<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")%>
其它的照样子搬就是了

本文作者:



相关阅读:
如何让不固定个数的子元素自动适应居中
javascript异步编程
Javascript面向对象编程(二) 构造函数的继承
告诉你html的几个小技巧
北京奥运会倒计时代码
在SQL Server中重新编译存储过程
Linux操作系统下DedeCMS详细安全设置教程
jQuery Study Notes学习笔记 (二)
Win 98调整桌面图标的间距
php实现的简单压缩英文字符串的代码
js鼠标、键盘事件实例代码
用margin和overflow属性实现div间距的方法
存储过程 批量删除记录
PHP的面试题集
快速导航

Copyright © 2016 phpStudy |