如何用javascript写个插件

JavaScript08

如何用javascript写个插件,第1张

插件的目的是为了实现一系列功能。一般来讲是分为两种,一种是独立插件,一种是依赖插件。独立插件的话,只要把插件写在一个js文件里面,把js引进来就可以了。依赖插件的话,是本身需要依赖于其他的js,比如常见的jq插件,需要依赖jq,使用的时候要先把jq引进来,然后再把这个js引进来。

js插件的开发需要几个注意点:

独立变量,方法。防止和其他js产生冲突,一般采用闭包。

暴露设置,暴露方法调用。为了插件根据需要做一些设置上的改变。

防止重复定义,一般有一个初始化,建议采用匿名函数实现只能初始化一次

使用js开发的IE插件可以在当前浏览的页面中执行js代码,在此基础上实现任何用户可以想到的功能。

可以针对不用的网站做一些common处理(比如提取某类信息),也可以针对特定网站做特色处理(比如抢购火车票)。

实现这种插件方法比较简单,只需拷贝几个文件,修改一个注册表值即可。所以比较适合快速实现一些浏览器或者网站辅助功能。

实现步骤:

1.创建实现具体功能的html文件

//文件名称:getticketslist.html

//文件内容:

<script language="JavaScript">

var args = external.menuArguments

var doc = args.document

var cframe = doc.CONTENTS_IFRAME

if (cframe &&cframe.document) {

doc = cframe.document//获取当前页面的document元素

//TODO:从document中获取ticket list元素并做相应处理

}

</script>

2.创建注册表文件

//文件名称:getticketslist.reg

//文件内容:文件中的CLSID可以任意修改,唯一即可

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Extensions\{878EC0C9-AAAD-4331-9B3A-2D8BA93AEAD2}]

"CLSID"="{2FBA04EE-3024-11D2-8F1F-0000F87ABD16}"

"Default Visible"="Yes"

"Script"="c:\\getticketslist.html"

"MenuText"="处理tickets"

3.将html文件拷贝到reg文件中指定的路径(如c:\getticketslist.html)

4.运行getticketslist.reg,修改注册表

5.重启IE,在菜单【工具】中可以看到刚才添加的功能"处理tickets",点击执行

本篇为 uniapp原生插件开发-android端-component扩展

这里实现一个原生的MPAndroidChart的饼状图扩展

效果如下

提醒:修改完这些你可能需要重新打开android studio,不知道是不是我的as版本太新了,修改了,然后一直停止不了之前的同步进程,重新打开as让他构建项目

该组件的调用方式为:

方法描述

initComponentHostView :使用该组件时,会自动调用该方法,返回一个你要扩展的原生组件

@UniComponentProp(name = "labelColor") :给该组件添加一个属性,类似调用方式的 labelColor="#8A2BE2"

@UniJSMethod :声明一个该组件的方法,可以通过 this.refs.tPieChart.rotate() ,调用aging方法