前言
我曾在这篇博文(
http://www.iteye.com/topic/1117020)中说过要分享一下浏览器插件开发的。今天,趁现在有点时间,写一下吧,呵呵。
介绍
这个介绍不是介绍浏览器市场分布,也不是介绍浏览器插件辉煌,而是说明一下浏览器插件的开发前的准备。
首先,这里为什么只说Maxthon插件开发呢?因为我当时就是用Maxthon写的插件。答案是不是出奇的简单?
其次,插件的开发其实原理上都是差不多的,学会一个可以举一反三很快就会掌握很多浏览器插件的开发。毕竟插件开发也不是什么难事,就是HTML和JS的有机组合!
好了,话不多说,进入开发……
开发
哦,对了,在此之前有三点要跟大家说明一下:
1、目前只有Maxthon2.x才支持插件模式(不好意思,说一下,Maxthon3.x也可以支持插件开发了,参考:http://bbs.maxthon.cn/viewthread.php?tid=610087);
2、Maxthon插件开发也是有官方文档的,但其维护却很……烂!烂到无以复加!烂到你以为那不是官方文档!好吧,它的地址是:http://bbs.maxthon.cn/viewthread.php?tid=23564
大家同时也可以参考一下这个文档:http://hi.baidu.com/xkplt/blog/item/4cf206f7f7cb5f2a730eec17.html
3、最好的学习方式是下载一个人家比较好的插件下来,看源码时再看文档,这样学习效率事半功倍哦。插件下载地址:http://addons.maxthon.cn/
最近铁道部售票网站买票难已经被大家说得不能再说了~作为程序员,我当时就想到两个方法来实现自动购票:可以写一个类似的网络爬虫的程序来实现自动票请求;也可以写浏览器插件来实现该过程(个人觉得浏览器插件实现起来应该会更简单、优雅一些)!我本人因为离家近,不需要买票,所以没有动力去及时实现,结果网上这两种方式都有了!
好了,废话又讲了一堆,我们开始开发插件吧:
配置开发
首先,既然是插件,就必须有遵循的加载标志,Maxthon中就是一个plugin.ini文件。所以,我先建立一个文件夹(名称最好就是插件名称),在文件夹里面建立一个plugin.ini文件,里面的内容大致如下:
[General]
Name=工作小助手
Author=hellohank
Version=1.0
ModuleType=SCRIPT
FileName=saveCustomer.htm
Comments=帮助我家老婆工作的一些小工具\n
Type=M2Plugin_BUTTON
HotIcon=icon.ico
Icon=icon.ico
[MyIE2Buttons]
Count=1
Name1=保存客户信息
FileName1=saveCustomer.htm
Count=2
Name1=完善客户信息
FileName1=perfectCustomer.htm
从上面的配置来看,我们定义了插件的显示名称、插件类型(这里是SCRIPT类型)、启动文件、插件图标等,最后,我们这里还建立了两个按钮,分别做两件不同的事!
那接下来让我们看一下htm文件中的内容做了什么事(注意这是SCRIPT类型的插件,所以它的htm文件中最好不要有html标签):
<script language="javascript">
//加载jquery
var jqueryJs=document.createElement('script');
jqueryJs.src='file:///'+(external.m2_plugin_folder(%max_security_id,PlugName))+'jquery142.js';
document.body.insertAdjacentElement('afterBegin',jqueryJs);
//
//
saveCustomer();
function saveCustomer() {
readFiles();
}
function readFiles() {
try {
var fso = new ActiveXObject("Scripting.FileSystemObject")
} catch (e) {
alert("您的浏览器安全级别太高,无法保存,请调整您的安全级别到低"+e);
return;
}
var ts, s;
var ForReading = 1;
// 定义数组
var clientsDate = new Array();
// 读取文件的内容。
ts = fso.OpenTextFile("d:\\test.txt", ForReading, true);
while (!ts.AtEndOfStream) {
s = ts.ReadLine();
clientsDate.push(s);
}
ts.Close();
// 迭代弹出读取文件的数据
for ( var i = 0; i < clientsDate.length; i++) {
alert(clientsDate[1]);
}
}
</script>
注意一下上面的代码,你会发现,它和我们平时写的HTML一模一样!因为它其实就是HTML开发方式!还有,你也可以看到我在这里引用了jquery!这一点还是很重要的,因为我们很多时候是需要借助第三方的js或什么的来简洁地处理自己的事情!
打包安装
当所有的文件都写完了,就可以打包并安装调试了!
呃……好吧,我们先来说说调试吧:其实Maxthon没有调试功能(至少我开发时还没有)!但我们也可以试用啊~
找到你的Maxthon安装路径,在里面有一个Plugin文件夹,将你建的插件文件夹直接复制到该文件夹下,然后重启Maxthon即可(刷新一下页面也行,但有时候会出现加载不完全的现象,所以还是建议重启),然后你就会在相应的地方看到你的插件了,然后你就可以调用它了!
当你调试完之后,想分享给别人使用,该怎么办呢?有两个办法:
1、将你建的那个插件文件夹直接发给人家,让人家放在那个目录下即可!如果你遇到对电脑什么都不懂的小白的话(一般来说女生居多)……你要解释半天该怎么放了~
2、将这个插件文件夹打包成插件发给对方,让对方直接把插件拖到Maxthon上就可以直接安装!
打包为插件的步骤为:
a)、将插件文件夹压缩为zip文件;
b)、将该zip文件的后缀更改为.m2p即可;这个m2p文件就是插件文件,可以直接拖到浏览器上安装!
经验积累
- 如果可以,建议大家尽量不要用maxthon2.x,因为它会无故缓存js,让你以为自己的js写得有问题!而且有时候,你的js写得就是对的,结果它还是认为有错误!这让我受尽了苦头!
- 其它浏览器的插件开发也大抵相似(前提是这个浏览器支持插件方式),对于FireFox来说,如果你自己只是实现一些基本的功能,FireFox有一个很强大的插件(GreaseMonkey),它允许用户自定义js,然后执行!
- 要用zip方式打包之后,再将后缀改为m2p才能正常安装;
- plugin.ini中可以写中文;
- Script类型的插件是在当前Tab页面起作用,HTML类型的是全局起作用。
- 任何文件里面不能有乱码!所以一定要注意文件编码问题!
- 论是SCRIPT类型,还是HTML类型,里面的代码操作与普通的开发一样(当成当前正在写的一个HTML文件)。需要注意的是:HTML页面中的内容将会在插件图标所在的位置显示。如在状态栏时,会在状态栏显示body中的内容
- HTML类型的插件是没有图标的!
- 注意文件编码格式!尽量使用Nodepad文本编辑,因为它可以随时指定文本编码。
- SCRIPT类型插件件只有在打开页面,且页面加载完之后会会运行!
- 如果想消除页面alert弹出框,可以用ifame嵌嵌套重写window.alert来消除js的alert跳出!
分享到:
相关推荐
支持插件开发,可以增强论坛功能,如 SEO 优化、社交网络整合、数据分析等。Maxthon 特定的插件可能提供与浏览器的深度集成,如一键登录、快速发帖等。 6. **浏览器兼容性**:在设计 Discuz! 模板时,需考虑不同...
Web开发中的浏览器插件是开发者不可或缺的工具,它们极大地提升了工作效率和问题排查能力。下面将详细介绍几个常用的浏览器插件及其特点: 1. **PowerBand**:这是一个专为IE设计的插件,同时也支持MyIE2/Maxthon...
PJBlog2 Maxthon II模板的开发人员运用这些技术,确保了模板在Maxthon II上的良好表现。 6. **自定义和调整**:用户可以根据自己的喜好和需求对"PJBlog2 Maxthon II"模板进行调整,例如更换背景图片、修改字体样式...
4. **Maxthon2插件支持**:可能集成了Maxthon2特有的插件或扩展,增强博客的功能,如广告拦截、页面保存、快捷键等。 5. **SEO优化**:考虑到搜索引擎优化,模板可能会有合理的元标签设置,如标题、描述、关键词等...
傲游浏览器(Maxthon Browser), 是一款功能丰富的多标签浏览器。傲游浏览器允许在同一窗口内打开任意多个页面, 减少浏览器对系统资源的占用率, 提高网上冲浪的效率. 傲游基于IE内核开发, 这意味着您可以在傲游浏览器...
在软件开发中,版本号通常由主版本号、次版本号和构建号组成,这里的“1.6.2”是主次版本号,表明这是Maxthon的一个中期更新版本,而“build 65(0923)”则可能是内部的构建编号或者发布日期,表示这是在2009年9月23...
《傲游浏览器Maxthon——网页开发与分析的强大工具》 傲游浏览器Maxthon,作为一个功能丰富的网络浏览软件,尤其在网页开发和分析领域表现出色。它不仅提供了基本的浏览功能,如多标签浏览、超级拖拽等,还特别内置...
至于"build 65(0923)",这代表了该版本的构建日期,即2009年9月23日,这通常是开发过程中的一个里程碑,表明在这一天完成了这一特定版本的编译和测试。这种标注有助于用户了解软件的更新时间,也可以作为问题排查的...
许多第三方浏览器,如Maxthon、360浏览器等,也基于此内核构建,以实现与IE浏览器兼容。 2. **Flash插件**:Adobe Flash Player是一款能够让用户在Web浏览器中观看Flash内容的软件。它负责解析并执行SWF文件,这是...
本压缩包"maxthon.rar_maxthon_浏览器源代码"包含的就是这款浏览器的部分或全部源代码,对于开发者而言,这是一个宝贵的资源,可以深入理解其内部机制,学习Web技术,甚至进行二次开发。 **1. 浏览器架构** 遨游...
不过,Maxthon还提供了额外的API,如`myWebBrowser`对象,对于插件开发或特定功能的实现,可能会用到这些API来获取更详细的浏览器信息。 除了JavaScript,还可以通过其他编程语言如C#、VB.NET、Python等编写浏览器...
Maxthon基于WebKit引擎,因此可能需要使用更具体的API或者使用Maxthon提供的插件开发接口(如MxAddon SDK)来获取地址栏内容。具体实现步骤会涉及到更多的技术细节,包括识别Maxthon窗口和地址栏控件的独特标识,...
虽然任何浏览器都可以用于CSS开发,但傲游浏览器的特色功能和插件无疑为CSS工作带来了便利。在学习和实践中,你可以根据个人喜好和需求来决定是否使用傲游浏览器,以优化你的工作流程和提高开发效率。记住,工具的...
ie浏览其中,maxthon2无疑是全球领先的 1.支持内用控制(用户可限定是否执行网页中的脚本或控件) 2.支持间不安全行为侦测(如果浏览的页面企图执行本地程序,会谈处警告让用户确认是否应该执行) 3.支持...
通过向注册表中添加特定的键值,这款插件可以让非专为WAP设计的普通浏览器,比如Internet Explorer(IE)、Maxthon或Firefox,具备浏览WAP网站的能力。 在标签中,“wap”是指无线应用协议,是移动设备访问互联网的...
【标题】"ViewPage_Script" 是一个与Maxthon遨游浏览器相关的插件,它主要用于增强浏览器的功能和用户体验。遨游浏览器是一款多平台、多标签的网络浏览工具,以其便捷的自定义设置和丰富的扩展功能而受到用户喜爱。...
总结来说,HTML5在线网页视频播放器插件是现代网页开发中不可或缺的一部分,它利用HTML5标准提供了一种高效、灵活且跨平台的视频播放解决方案。通过理解和应用这些知识点,开发者可以创建出具有高质量用户体验的视频...
如今,大多数现代浏览器都对HTML5有良好的支持,包括Firefox、IE9及以上版本、Chrome、Safari、Opera,以及国内的Maxthon、360浏览器、搜狗浏览器、QQ浏览器和猎豹浏览器等。 HTML5的优势在于跨平台性和易于调试,...
基于NPAPI开发的安全输入控件可以在多种浏览器环境下工作,如Firefox、Chrome、Opera和Maxthon,这意味着它具有良好的兼容性和广泛的应用场景。 NPAPI插件的工作原理是,当浏览器加载包含特定MIME类型的网页时,会...
根据提供的文件信息,我们可以梳理出一系列与Maxthon浏览器相关的更新日志和技术改进点。下面将对这些技术要点进行详细解析: ### 多项搜索功能 - **Multi-search**:此功能增强了Maxthon浏览器的搜索能力,允许...