昨天想写一个chrome爬虫插件,我用jq试了一下,情况是这样的:

var baseUrl = "http://www.example.com/";

function startFetch() {

$.get(baseUrl, function (data) {

var str = $('

$('#log').html(str);

});

}

$(function () {

$("#startFetch").bind("click", startFetch);

});

一开始发现,$.get返回的数据是一个完整的html代码,就像这样:

Document

我直接用$(data)得到的是一个dom节点集合,而不是一个jq对象,stackoverflow上也有人问到这种情况,综合几种情况,我采用了$('

在用jq实现之后,我又用js重新写了一个,具体如下:

var baseUrl = "http://www.example.com/";

var get = request.bind(this, 'GET');

function startFetch() {

get(baseUrl, function (data) {

var newDiv, str;

newDiv = document.createElement('div');

newDiv.innerHTML = data; //这里如果改用appendChild就会报错

str = newDiv.querySelectorAll('selector')[1].innerHTML;

document.getElementById('log').innerHTML = str;

});

}

window.onload = function () {

document.getElementById('startFetch').addEventListener('click', startFetch);

};

function request(type, url, opts, callback) {

var xhr = new XMLHttpRequest();

if (typeof opts === 'function') {

callback = opts;

opts = null;

}

xhr.open(type, url);

var fd = new FormData();

if (type === 'POST' && opts) {

for (var key in opts) {

fd.append(key, JSON.stringify(opts[key]));

}

}

xhr.onload = function () {

callback(xhr.response);

};

xhr.send(opts ? fd : null);

}

以下是我完整的整个插件的结构:

|-js

|-popup.js

|-icon16.png

|-icon48.png

|-icon128.png

|-manifest.json

|-popup.html

完整代码如下:

//popup.html

Document

#log {

width: 200px;

line-height: 20px;

}

获取账号密码

获取中......

//manifest.json

{

"manifest_version": 2,

"name": "更新ss",

"description": "获取免费账号并更新到本地",

"version": "1.0",

"icons": {

"16": "icon16.png",

"48": "icon48.png",

"128": "icon128.png"

},

"browser_action": {

"default_icon": "icon128.png",

"default_popup": "popup.html"

},

"permissions": [

"activeTab",

"webRequest",

"webNavigation",

"webRequestBlocking",

"proxy",

"*://*/*"

]

}

popup.js的代码就是上面纯js版

html转换jquery,将html字符串转化为jquery对象相关推荐

  1. 用jquery方法的字符串截取,jquery字符串截取

    用jquery方法的字符串截取: 注意:索引从0开始 1 .indexOf: 查找子串在母串的第一次出现的索引值 例如(qcby)在 str=dfgfskqcbydfd: var str=" ...

  2. Jquery 将表单序列化为Json对象

    大家知道Jquery中有serialize方法,可以将表单序列化为一个"&"连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有 ...

  3. tinydate.js[v0.3] 新增了字符串格式化为日期对象的函数

    更新说明 加入了String类型的扩展成员 convertToDate() 可以直接将 字符串格式的日期转换为Date对象. 加入了String类型的扩展成员 convertToTimeSpan() ...

  4. fastjson将json字符串转化为java对象

    目录 一.导入一个fastjson的jar包 二.Json字符串格式 三.根据json的格式创建Java类 四.给java类的所有属性添加setter方法 五.转换为java对象 一.导入一个fast ...

  5. 字符串转化为json对象和json数组

    我们通过API接口获取json数据时,通过getBody()获取String类型的json数据 1.json对象 当想获取到该字符串的json数据的某一个特定值时,需要转为json对象通过getStr ...

  6. 通过获取客户端Json数据字符串,反序列化为实体对象的一段代码

    #region 保存候选人数据/// <summary>/// 保存候选人数据/// </summary>/// <param name="entity&quo ...

  7. Java中普通字符串转json_java普通对象和json字符串的互转

    一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: 现在java对象转换为json形式: 定义了一个Student的实体类,然后分别使用了JS ...

  8. [JQuery]jQuery中serializeArray方法的使用及对象与字符串的转换

    使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组, 再使用遍历的方式可以方便的将数组转化为json对象, ...

  9. [转载] python字符串转化为16进制数_python实用知识,数值类型和进制整数的转换

    参考链接: 在Python中将整数int转换为字符串string 喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 1.数值类型的转换 int()可以将字符串 ...

最新文章

  1. 基本类型变量和引用型类型变量
  2. ABAP开发环境终于支持以驼峰命名法自动格式化ABAP变量名了
  3. linux pmap was java,jvm 《九》pmap linux 命令介绍 及使用
  4. Windows下编译配置Caffe的GPU版本
  5. 使用Python实现一个简单的接口服务
  6. delphi中Record 和Packed Record的区别
  7. HDU-1251-统计难题(字典树)
  8. 数据结构(字符串)—— 两字符串前后缀相等
  9. 【MySQL】源码安装MySQL
  10. x264 编码器选项分析 (x264 Codec Strong and Weak Points) 1
  11. windows上telnet用法 测试端口号
  12. 全国各地区数据库百度云链接(参考京东收货地址)
  13. 威纶通触摸屏离线模拟正常,为什么下载到屏幕后部分按钮开关等不显示?
  14. Python实现电影抢票系统需要几行代码?猜对有奖
  15. cgcs2000大地坐标系地图_2000国家大地坐标系
  16. Matlab底层算法实现图像的平移
  17. oracle11g oem使用手册,Oracle11g从入门到精通pdf
  18. 广州日报新媒体发展战略解析(转)
  19. Python实现GWO智能灰狼优化算法优化支持向量机回归模型(svr算法)项目实战
  20. 泰山OFFICE技术讲座:一个字符,用哪个字体绘制

热门文章

  1. 怎么把ppt弄成链接的形式_视频引流的方法,教你怎么用视频引流日引500
  2. android样式文件,Android学习笔记样式资源文件
  3. 【Unity新闻】Unity发布白皮书《11种有效的玩家参与策略》
  4. C++案例 利用基本语法实现程序
  5. 使用C#和ASP.NET Core的PayPal智能按钮的客户端/服务器实现
  6. Win10中docker安装nuget服务器及使用
  7. 计算机网络的带宽是指网络可通过的,计算机网络及带宽概念.ppt
  8. parquet格式_【存储】基于列存之Parquet格式
  9. pmos管的应用_串联稳压电路3:NMOS型、PMOS型
  10. legend位置 pyecharts_Echarts 饼图 图例修改,legend样式修改