首 页 » 程序开发 » opera插件开发1

opera插件开发1

[ 2008-08-19 23:09 | 浏览次数: 2,129次 | 4条评论 ]

要想给opera增加功能,首先要理解opera运行原理。
opera上的按钮和菜单等都是通过读取配置文件来动态显示的,我们要做的就是改变配置文件。


关于Opera的安装、目录和文件详解,可以参考:http://www.operachina.com/viewtopic.php?t=1701&extra=page%3D2

开发方法一:
通过opera内部命令给opera增加功能
简单来讲就是写个菜单或按钮,然后将这个菜单或按钮的功能用opera内部命令写。
opera的内部命令很多,能实现很多功能。比如复制页面地址,链接,选择文本,在编辑框插入文字,移动到另外一个控件,关闭标签,新建标签,显示工具栏,启动其他程序等等。
例如要添加迅雷下载:
打开菜单文件,在Link Popup Menu下添加:
Item, “迅雷”=Execute program, “D:/Program Files/Thunder Network/Thunder/Thunder.exe”, “%l”
即可在链接上右击出现迅雷,点击就会启动迅雷,并给迅雷添加此链接下载任务
关于opera内部命令参考:http://www.operachina.com/viewtopic.php?t=309&extra=page%3D1
关于Opera按钮和菜单/语法指南:http://www.operachina.com/viewtopic.php?t=1770&extra=page%3D1

开发方法二:
通过javascript给opera增加功能
这是opera最重要的功能,
javascript可以修复网页上有问题的脚本;通过对网页改变或添加自己的内容,来增强网页功能;控制页面上允许运行什么脚本,以及允许脚本做什么;通过向 UserJS 中添加功能,简化用户书签栏;获取页面上的各个元素等等。
javascript可以写在菜单或按钮中,即在点按钮或选择菜单时运行,
例如要添加迅雷下载(这个多了传递页面的cookies等)
Item, “迅雷”=”Go to Page,”javascript:void(inivar=’%l’)”,,,”Attachment Archives” & Go to Page, “javascript:(function(){const rn=’/r/n’; var link=inivar;inivar=null; var dc=document.cookie; var cc=(dc&&link.indexOf(location.hostname)!=-1)?dc+’; ‘:”; var txt=(document.getSelection())?document.getSelection().replace(//s/g,’ ‘).replace(//x22/g,’/x27′):”; var fr=document.createElement(‘iframe’); fr.setAttribute(‘id’, ‘tr_dummy’);fr.setAttribute(‘frameborder’, ’0′);fr.setAttribute(‘style’, ‘width:0px;height:0px;visibility:hidden;position:absolute;left:-999em;’);fr.setAttribute(‘src’, ‘data:text/xunlei;charset=UTF-8,’+encodeURI(document.location+rn+link+rn+txt+rn+cc+rn+rn+rn));document.documentElement.appendChild(fr); var tr=document.getElementById(‘tr_dummy’);tr.parentNode.removeChild(tr);})()” ”
javascript也可以放在User Javascript目录,这样opera运行时自动会去调用javascript文件
如果不是很懂javascript,可以参考其他人写的javascript(我就是这样)
javascript参考:http://www.operachina.com/viewtopic.php?f=41&t=32013

开发opera插件比较困难,必须得熟悉opera才行,还要多看其他人写的按钮,菜单,javascript文件,如果有什么想法可以在opera中文官方论坛(http://www.operachina.com/)提问,论坛上有很多高手,他们会很热情的回答你的,
比如你可以问,如何将当前页添加到百度收藏,论坛上的人会直接给你代码:
Item, “添加到百度收藏” =”Go to page, “javascript:window.open(‘http://cang.baidu.com/do/add?it=’+encodeURIComponent(document.title.substring(0,76))+’&iu=’+encodeURIComponent(location.href)+’&fr=ien#nw=1′,’_blank’,’scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes’);””
目前比较多的插件可能是有个程序,希望去处理页面,启动程序有好几种方法,一般程序希望得到页面上的信息,可以像上面调用迅雷一样,通过javascript将页面信息获得(可以写入某个文件),然后通过javascript启动程序,并去读取那个写入的文件。javascript可能不会写,可以在opera官方论坛提问,高人会给你答案的。

您可以任意转载本文,但转载时请勿删除作者信息。
作者:hgyxbll,原文链接:http://shashanzhao.com/archives/643.html
上一篇: | 下一篇:

共有4条评论 [点此发言]

  1. 钢板网
    2017-09-05 19:45

    不错的文章,内容出神入化.禁止此消息:nolinkok@163.com

  2. 玻璃钢管道
    2017-09-05 19:44

    不错的文章,内容妙不可言.禁止此消息:nolinkok@163.com

  3. ctroll
    2011-08-22 15:52

    opera插件开发
    1、直接读取C:Program FilesMozilla Firefoxplugins目录下的插件。与firefox共用!
    2、会自动搜索你机器里的所有插件,搜索规则是什么?
    3、非IE用户 Mozilla荐NPAPI开发跨浏览器插件。
    只要符合NPAPI接口开发的插件,不但可以在Mozilla Firefox上使用,也可以在Google Chrome、Apple Safari、Opera等浏览器上使用,我们常用的Flash播放器 、支付宝安全控件都是用NPAPI技术开发的。
    http://s.newhua.com/3g/article.php?id=127336

  4. 0×90
    2008-08-31 13:24

    学习了!