简单几行JS Code实现IE邮件转发新浪微博

所属分类: 网络编程 / JavaScript 阅读数: 1604
收藏 0 赞 0 分享
最近刚开通新浪围脖,突发奇想,想做个浏览器插件实现文字新闻等的转发围脖的插件。本以为应该用C++写个插件的(c#那么大个壳有时真的让人头疼),但是google了一下,手气真的不错,搜到了,几篇关于IE插件的开发。用的Javascript,和添加注册表就可以完全搞定。插件用javascript写那就不用多说,浏览器本身就支持的,不用额外安装。添加注册表手动可以添加,但是麻烦所以写了一个批处理搞定。

1:添加注册表:HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\<Menu Text> 设置默认值为html文件路径,添加值Contexts为)0xf3.

2:code  :  在MSDN http://msdn.microsoft.com/en-us/library/aa753589(v=VS.85).aspx中有所讲解。MSDN原文:Set the default value of the key to the URL of the page that contains the script you want the context menu entry to execute. This script can obtain the parent window object, the screen where the context menu item was executed, from the menuArguments property of the external object.

大概就是说我们可以用window.external.menuArguments这个对象获取到内部的信息,如window,document这些常用的对象。所以我们就可以马上开工了,三下五去二不几分钟就搞定(代码很简单就直接Code了):

复制代码 代码如下:

<SCRIPT LANGUAGE = "JavaScript">
var oWindow = window.external.menuArguments;
var oDocument = oWindow.document;
var oSelect = oDocument.selection;

var oSelectRange = oSelect.createRange();
var sNewText = oSelectRange.text;//.substring(0,140);

var title=sNewText.length == 0?oDocument.title:sNewText;
if (title.length>0){
oWindow.open("http://service.weibo.com/share/share.php?title="+encodeURIComponent(title)+"&url="+encodeURIComponent(oDocument.URL)+"&source="+encodeURIComponent("破

狼")+"&appkey=1027675428&sourceUrl="+encodeURIComponent(oDocument.URL));
}
</SCRIPT>


看一个效果:



缺点:在这里只是简单获取的下文本值的内容,还没有找到获取选中html或者对象的方式,正在查找,如果有知道的请不吝赐教。我打算是可以解析出视频,图片等,发送。

下载【直接点击批处理运行,重启IE

参考文献:

http://msdn.microsoft.com/en-us/library/aa753589(v=VS.85).aspx
http://blogs.msdn.com/b/oldnewthing/archive/2004/05/24/140283.aspx

更多精彩内容其他人还在看

jQuery LigerUI 使用教程表格篇(1)

ligerGrid是ligerui系列插件的核心控件,用户可以快速地创建一个美观,而且功能强大的表格,支持排序、分页、多表头、固定列等等
收藏 0 赞 0 分享

JavaScript中常用的运算符小结

JavaScript中常用的运算符小结,需要的朋友可以参考下。
收藏 0 赞 0 分享

深入理解JavaScript系列(13) This? Yes,this!

在这篇文章里,我们将讨论跟执行上下文直接相关的更多细节。讨论的主题就是this关键字。实践证明,这个主题很难,在不同执行上下文中this的确定经常会发生问题
收藏 0 赞 0 分享

javascript (用setTimeout而非setInterval)

javascript (用setTimeout而非setInterval)如果用setInterval 可能出现 下次调用会在前一次调用前调用
收藏 0 赞 0 分享

JavaScript中两个感叹号的作用说明

用两个感叹号的作用就在于,如果明确设置了o中flag的值(非null/undefined/0""/等值),自然test就会取跟o.flag一样的值;如果没有设置,test就会默认为false,而不是null或undefined
收藏 0 赞 0 分享

javascript写的简单的计算器,内容很多,方法实用,推荐

最近用javascript写了一个简单的计算器,自己测试感觉还好,代码都给了注释,非常不错,推荐大家学习。
收藏 0 赞 0 分享

js的表单操作 简单计算器

javascript写的简单的加减乘除计算器,里面涉及到一些方法还是很实用的哦,新手不要错过
收藏 0 赞 0 分享

Jquery中删除元素的实现代码

empty用来删除指定元素的子元素,remove用来删除元素,或者设定细化条件执行删除
收藏 0 赞 0 分享

javaScript 利用闭包模拟对象的私有属性

JavaScript缺少块级作用域,没有private修饰符,但它具有函数作用域。作用域的好处是内部函数可以访问它们的外部函数的参数和变量(除了this和argument
收藏 0 赞 0 分享

为JavaScript类型增加方法的实现代码(增加功能)

大家在js开发过程中有些功能已经满足不了我们的需求,或没有我们需要的功能,那么我们就可以自己扩展下,个性化js
收藏 0 赞 0 分享
查看更多