extension

如何做一个简单的Chrome Extension用于网页截屏

吃可爱长大的小学妹 提交于 2020-03-02 22:34:07
Chrome extension是一个文件包,里面包含了一个配置文件manifest.json,以及一些用于Web开发的文件和资源 (HTML, JavaScript, CSS,等)。 参考原文: A Simple Chrome Extension to Save Web Page Screenshots to Local Disk Chrome Extension开发指南 Chrome Extension Overview Chrome Extension Debugging Chrome Extension Samples 如何实现网页截屏功能 看一下manifest文件: { "name": "Screenshot Extension", "version": "1.0", "description": "A simple screenshot extension", "background": { "persistent": false, "scripts": ["background.js"] }, "content_scripts": [ { "matches" : ["<all_urls>"], "js": ["content.js"] } ], "browser_action": { "default_icon": "camera.png", "default

通过php extension使disable_function支持通配符

陌路散爱 提交于 2020-03-02 07:17:15
本人学C语言不久,对指针内存管理等都还没入门,php扩展的编写更是胡乱在拼凑,以下是我“乱搞”的一点记录,希望大家指点和轻喷。 一天翻php.ini的时候看到了一堆“同族”的函数 ; This directive allows you to disable certain functions for security reasons. ; It receives a comma-delimited list of function names. This directive is ; *NOT* affected by whether Safe Mode is turned On or Off. ; http://php.net/disable-functions disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited, pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig, pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,

qt实现-给SQLITE添加自定义函数

ぃ、小莉子 提交于 2020-03-01 12:28:47
需要使用sqlite里的password对某个字段进行加密,由于使用的sqlite是由QT封装好的QSqlDatabase,没有发现加载扩展函数的方法,所以自己实现了一个。 在网上也没找到相应的参考,就自己查官方文档解决了。本篇文章主要是sqlite如何加载外部的函数,并没有password函数的实现,我将写好的函数生成了一个动态库,由程序动态加载。 #include <iostream> #include <QString> #include <QtSql/QSqlQuery> #include <QtSql/QSqlDatabase> #include <QtSql/QSqlQuery> #include <QtSql/QSqlError> #include <QtSql/QSqlDriver> #include <QVariant> #include <sqlite3.h> #include <string.h> using namespace std; void insert_database(QSqlDatabase& database,QString name) { QSqlQuery query(database); if(!query.exec("insert into data(name) values(password('"+name+"') )")) cout

Python 实现 CNKI批量下载 和FireFox Extension 入门学习笔记

亡梦爱人 提交于 2019-12-11 11:45:49
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ‍ Python 实现 CNKI 批量下载 和 FireFox Extension 入门学习笔记 ‍ 由于需要也是为了督促自己学习新的东西,我原本想要尝试着写一个爬虫程序,能够在 cnki 上自动得将论文进行批量下载,学习过程中遇到了诸多情况, cnki 也真是专业,不得不佩服 cnki 的强大。 下面进入正题: 学习、实验环境: ubuntu 14.04 工具: Eclipse , FireFox , FireBug , HttpFox 编程语言:python, js, XUL 由于我是中山大学学生,使用校园网进入 cnki 进行下载是不用登录的,所以我也就没进行模拟登录等方面的实现,有需要的朋友可以使用 splinter 进行模拟登录,也算快速便捷哈。 首先我们要实现使用 python 对 cnki 的论文实现批量下载,我们首先要对客户端和服务器之间相互传递的信息进行了解,这里我第一次使用的是 wireshark ,但是这个工具虽然强大,但是真不利于我们进行分析,它抓取的是我们电脑端口的信息,而不能只抓取当前网页的,在多次尝试之后我选择了 HttpFox 进行数据包抓取: 如图我们可以发现 cnki 对一个下载进行了 3 此 redirect ,我们通过对获得的数据和再一次发送的数据对比可以发现

Chrome浏览器插件开发心得

六月ゝ 毕业季﹏ 提交于 2019-12-06 23:20:34
一、学习基础知识 从现在的经验来看,基本只需要看一下,360翻译的开发文档即可,开发出一个适合大部分人要求的插件了。 文档: http://open.chrome.360.cn/extension_dev/overview.html 二、实战经验 先给出我开发的 XPlayer 的配置,下面的经验可参考。 { “name”: “XPlayer “, “version”: “0.2″, “description”: “XP(XPlayer),豆瓣音乐播放器”, “manifest_version”: 2, “homepage_url”: “http://www.xiongchuan.org/xplayer”, “icons”:{ “16″ : “icon_16.png”, “48″ : “icon_48.png”, “128″ : “icon_128.png” }, “browser_action”: { “default_icon” : “icon_128.png”, “default_title” : “XPlayer”, “default_popup” : “popup.htm” }, “background”:{ “page”:”background.htm” }, “permissions”: ["tabs"], “content_scripts”:[ { "matches

VSCode插件制作:HTML代码自动填充

柔情痞子 提交于 2019-12-06 15:26:41
Visual Studio Code不但跨平台,还有良好的扩展性。我们可以在 Visual Studio Marketplace 上找到各种各样的插件。这里分享下怎样制作一个简单的用于代码填充的插件。 自定义代码片段 键盘快捷键 Ctr+Shift+P 搜索关键字snippet: 选择HTML: 这个时候在 C:\Users\<user name>\AppData\Roaming\Code\User\snippets 下会自动创建一个 html.json 的模版文件: 现在可以在里面写一点东西了。这里是Dynamic Web TWAIN的代码: { "include": { "prefix": "dwt include", "body": [ "<script type=\"text/javascript\" src=\"https://www.dynamsoft.com/Demo/DWT/Resources/dynamsoft.webtwain.min.js\"> </script>" ], "description": "Include Dynamic Web TWAIN JavaScript library." }, "scan module": { "prefix": "dwt scan module", "body": [ "<input type=\"button\"

SmartWatch2开发-Control API简介

旧街凉风 提交于 2019-12-04 18:20:37
Sony Control API Control API是Smart Extension APIs中的一部分。 前面一篇 讲到了 Sony Extension API 。Sony某些智能配件支持Control API。Control API让Extension可以完全控制配件,包括控制屏幕、LED、振动、输入。正是由于是完全控制设备,所以同一时刻只能有一个Extension运行。 Control API包括以下内容: 注册 Extension的生命周期 控制屏幕 控制LED 控制振动器 按键输入 触屏输入 在配件屏幕上展示内容 注册 Control Extension可以使用配件之前,需要使用注册API中的Content Provider插入一条记录到Extension表中(原文:it must use the registration API content provider to insert a record in the extension table)。此外还应在注册表中添加信息。每个可与Extension交互的主应用(Host Application)均应完成上述过程。 为了知道有哪些主应用可用以及主应用支持哪些功能,Extension需要使用Capability API Extension的生命周期 Extension成功注册后即可与主应用通信。再次强调,

oc NSDate、类的扩展 、代理(家庭-保姆)

自作多情 提交于 2019-12-04 16:48:48
⼀、 NSDate 1、⺴络请求中的时间戳 计算当前时间距离 1970年1⽉1⽇ 的 秒 数 2、关于时区 24 个时区 北京 东八区 NSDate 输出的永远是 0 时区的时间 英国 格林尼治时间 GMT Greenwich Mean Time 3、NSDate使用 // 创建日期:表示当前的时间 NSDate * nowDate = [ NSDate date ]; // 创建日期:以当前时间为参考点,创建表示昨天这个时间的日期对象 double oneDay = 24 * 3600 ; NSDate * yesterday = [ NSDate dateWithTimeIntervalSinceNow :-oneDay]; NSDate * since2001 = [ NSDate dateWithTimeIntervalSinceReferenceDate : 0 ]; NSDate * since1970 = [ NSDate dateWithTimeIntervalSince1970 : 0 ]; NSDate * sinceAnyDay = [ NSDate dateWithTimeInterval :oneDay sinceDate :since2001]; // NSTimeInterval 是 double 类型 NSTimeInterval interval

SmartWatch2开发-编译SDK和Demo

爱⌒轻易说出口 提交于 2019-12-03 15:43:38
1. Smart Extension API 代码位置:< Android SDK >\add-ons\addon-sony_add-on_sdk_2_1-sony-16\samples\SmartExtensions 2. 导入Smart Extension API library project 打开Eclipse,File->New->Project…,在Android栏里选择”Android Project from Existing Code”, 分别选择对应的SmartExtensionAPI和SmartExtensionUtils目录。 注意 ,因为涉及到lib project,这里最好勾选Copy projects into workspace 导入成功后,可以看到SmartExtensionAPI和SmartExtensionUtils均为lib projects,且后者依赖于前者 2.编译SmartExtensionAPI工程为lib 3.在SmartExtensionUtils工程里,把SmartExtensionAPI设置为dependency,然后把SmartExtensionUtils也编译为lib 创建自己的Smart Extension的时候,需要把SmartExtensionAP和SmartExtensionUtils都加为dependency 3

SmartWatch2开发-ControlSample分析

眉间皱痕 提交于 2019-12-03 15:43:24
ControlSample代码路径 安装 Sony Add-on SDK 后见< Android SDK >\sdk\add-ons\addon-sony_add-on_sdk_2_1-sony-16\samples\SmartExtensions目录 ControlSample是Sony Add-on SDK中的一个Demo,可以运行在Smart Watch2上 运行截图如下 ControlSample分析 1.主要结构 SamplePreferenceActivity 供手机端使用的设置界面 ExtensionReceiver 收到特定广播后启动Extension Service SampleExtensionService 其createControlExtension方法会根据当前的配件信息(是SmartWatch,SmartWatch2还是其他设备)生成一个合适的ControlExtension 2.SampleControlSmartWatch2 我们的目标机型是Smart Watch 2, 所以重点分析这个类。 2.1 构造方法 SampleControlSmartWatch2(final String hostAppPackageName, final Context context, Handler handler) { super(context,