说chrome插件编写的先关文章, 首推小茗的【干货】Chrome插件(扩展)开发全攻略。
有非常完善的理论,引用和demo代码。
但是还是建议看官方的 chrome extensions。

chrome 插件是什么,能做什么

增强浏览器功能,HTML、CSS、JS、图片等资源组成的一个.crx后缀的压缩包。
从界面到网络请求,到本地资源的交互,都是统统可以的。
比如:

  • ColorZilla: 取色工具
  • Octotree: github 项目的右边导航
  • FeHelper: Web 前端助手, json, 二维码,加密等等
  • React Develop tools: React 调试工具
  • Tampermonkey: 油猴脚本

核心五部分

  • Manifest
    声明文件
  • Background Script
    运行在后台的脚本, 当然不仅仅是脚本, 也有html
  • UI Elements
    browser action 和page action, omnibox, popup等等
  • Content Script
    运行在当前内容页面的脚本
  • Options Page
    配置页面

官方资料 (需要FQ)

  • overview
  • Deleloper Guide
  • Samples
  • API

你有上面这四个链接, 你基本无所不知,无所不能了。

一个简单的京东商品历史价格查询

本人喜欢在京东买东西,各种活动很累, 很烦。 因为没有比较,就没有伤害。 以后喜欢借助慢慢买查看,但是要来回切换, 麻烦。

其实已经有很多比较成熟的比价插件了。比如

  • 惠惠购物助手
  • 懒人比价购物助手
  • 购物党
  • 淘帮手
  • 等等

但是,个人保持学习态度, 写一个极其简单的,点击一下, 一条曲线。

正题

项目结构

项目结构如下, 本插件核心就是

  • manifest.json 申明文件
  • index.js 执行网络请求,解析数据,渲染图标

manifest

{//必须为2"manifest_version": 2, "name": "JD Price History","version": "1.0.0","description": "京东商品历史价格查询",// 右上角图标"browser_action": {  "default_icon": {"128": "icons/icon128.png","16": "icons/icon16.png","48": "icons/icon48.png"},"default_title": "检查商品的历史价格"},// 脚本"content_scripts": [{"matches": ["http://*/*","https://*/*"],"js": ["content/echarts.common.min.js","content/md5.js","content/encrypt.js","content/index.js"],// 运行实际"run_at": "document_end"}],// 扩展程序网站"homepage_url": "https://github.com/xiangwenhu","icons": {"128": "icons/icon128.png","16": "icons/icon16.png","48": "icons/icon48.png"},// 权限,其实这里不需要那么多"permissions": ["contextMenus","tabs","notifications","webRequest","webRequestBlocking","storage","https://*/","http://*/","https://*.manmanbuy.com/","http://*.manmanbuy.com/"]}

比较有用的是

  • browser_action 右上角的标
  • permissions 权限,不然你发送请求是不会成功
  • content_scripts 内容脚本

content script

我们调用慢慢买的一个接口, 需要传入类似这样的地址http://item.jd.com/4813300.html,请求这个地址就能获得历史数据, 但是需要引入慢慢买的两个加密文件。

function getRequestUrl(requestUrl) {requestUrl = requestUrl.split('?')[0].split('#')[0];var url = escape(requestUrl);var token = d.encrypt(requestUrl, 2, true);var urlArr = [];urlArr.push('https://tool.manmanbuy.com/history.aspx?DA=1&action=gethistory&url=');urlArr.push(url);urlArr.push('&bjid=&spbh=&cxid=&zkid=&w=951&token=');urlArr.push(token);return urlArr.join('');}

封装简单的http_get请求,这里你应该是可以引入jQuery,网上有人说要拦截请求,我这里正常的发送是没有问题的。

function http_get(options) {var timeout = options.onTimeoutvar url = options.url;var success = options.success;var error = options.error;var xhr = new XMLHttpRequest();xhr.timeout = 10000;xhr.ontimeout = function (event) {console.log('request url' + url + ', timeout');timeout && timeout()}xhr.open('GET', url, true);xhr.onreadystatechange = function () {if (xhr.readyState == 4 && xhr.status == 200) {success && success(xhr.responseText);}}xhr.onerror = function () {error && error(xhr.statusText)}xhr.send();
}

基本发送http请求, 解析数据就好了。

最后发一张图

开发插件本身内容还是很复杂的, 需要慢慢品读。

最后送上源码地址:chromeExt-jd-price-history

转载于:https://www.cnblogs.com/cloud-/p/9954823.html

写个简单的chrome插件-京东商品历史价格查询相关推荐

  1. 商品历史价格查询API

    商品历史价格查询API 1) 请求地址 https://bj.api.yhmai.cn/router?app_id=8ab9ea84d196699d&method=query.good.his ...

  2. 【python】制作商品历史价格查询

    前言 一.思路 1.抓取商品的价格存入 Python 自带的 SQLite 数据库 2.每天定时抓取商品价格 3.使用 pyecharts 模块绘制价格折线图,让低价一目了然 二.步骤 1.抓取京东价 ...

  3. asd 商品历史价格查询

    购物小技巧:使用asd轻松查询 想买的商品 历史价格 设置提醒 最低价时入手 省心省钱购 demo: 只需要在相应的tb/jd对应域名后面输入asd即可

  4. iPhone清理喇叭灰尘_厉害了,iPhone 专用的网购商品历史最低价查询工具

    最近正值618购物节,很多商品都在打特价,今天分享两个网购必备的防坑小妙招.借助下面的两个工具,帮你买到真正实惠的宝贝.1商品历史价格查询工具这个快捷指令可以一键查询某一款商品的历史价格变动,让我们知 ...

  5. 搜索引擎快捷导航:一个简单的chrome插件(教程)

    搜索引擎快捷导航 使用方法 :下载crx扩展名文件,拖入chrome应用管理界面即可 github地址:https://github.com/mouday/chrome-search-tool 编写一 ...

  6. 实战各大平台商品比价--Python 爬取过客网商品历史价格(30天)

    #! usr/bin/env python # -*- coding:utf-8 -*- __author__="JUNHAN" 环境: Python3.6.5 1.导入第三方库 ...

  7. 淘宝商品历史价格接口/商品历史价走势接口代码对接分享

    一.淘宝商品历史价格接口/商品历史价走势接口代码如下: 点击获取key和secret 1.请求参数: 请求参数:num_iid=584458528092 参数说明:num_iid:商品id 2.响应参 ...

  8. 淘宝商品历史价格API接口 调用说明及功能介绍

    淘宝商品历史价格API是一款可以帮助用户获取淘宝商品历史价格数据的接口.通过该接口,用户可以轻松地获取某个商品在过去一段时间中的价格趋势和波动情况,以便更好地了解该商品的市场走势和价值变化情况. 该A ...

  9. 电商API分享:获取淘宝商品历史价格api调用示例 参数说明

    在网络购物中,TAO宝是相信许多人的首选平台之一,而对于一个谨慎的购物者来说,价格的变化是非常重要的.所以获取淘宝商品历史价格,可以帮助购物者更好地作出决策,实现理性消费.获取淘宝商品历史价格主要能帮 ...

  10. 618查看商品历史价格的方法

    用 法: 在地址栏中的电商域名后加入字母asd即可查询当前商品历史价格,如: 第一步: 正常浏览商品,假设商品原链接为: https://item.jd.com/3505714.html 第二步: 在 ...

最新文章

  1. 不要用 SELECT *
  2. oracle元字符,oracle中正则表达式的基本元字符
  3. tf.expand_dims() 的用法
  4. MyEclipse快捷键与插件大全
  5. android 动态换肤框架,GitHub - ss520k/Android-Skin-Loader: 一个通过动态加载本地皮肤包进行换肤的皮肤框架...
  6. 创新性应用深度学习,IBM在语音识别领域取得了里程碑式突破
  7. Android学习总结(4)——Andorid Studio熟练使用
  8. 微信“欲封”百度;AI 主播入职新华社;今日头条遭狠罚 | 极客头条
  9. Security+ 学习笔记55 隐私和合规性
  10. Echarts数据动态加载的实现样例
  11. Java直接插入排序
  12. c语言编译器turbo,C语言编译器TurboC使用技巧解析
  13. 赏析角度有哪些_几种分析的角度
  14. CTF中常见编码总结
  15. 唯美、清晰的代码长什么样
  16. nginx+keepalived+tomcat+memcache负载均衡搭建小集群
  17. 在线客服系统的功能介绍
  18. C51单片机LED显示二进制【核心代码详解】
  19. 【liuyubobobo-玩转图论算法】第一章 课程概述
  20. windows 删除文件夹 拒绝访问

热门文章

  1. 【离散数学】最大元素、最小元素、极大元素、极小元素、上界、下界、最小上界(上确界)、最大下界(下确界)
  2. 中移物联网采购4G行车记录仪
  3. pwnable.kr unlink
  4. Apk脱壳圣战之---脱掉“爱加密”家的壳
  5. N-MOS电平转换电路分析
  6. 【性能提升神器】STRAIGHT_JOIN
  7. 软件测试oracle怎么学,怎么自学软件测试?
  8. 盘点那些走向世界的中国开源项目
  9. uni-app 原生android插件在android studio调用.so文件步骤
  10. reactJS 干货(reactjs 史上最详细的解析干货)