当前位置: 首页 > news >正文

昆明php网站建设义乌网站建设公司价位

昆明php网站建设,义乌网站建设公司价位,网站解析错误,杭州哪家公司做网站好在Chrome浏览器向正被浏览的外网网页植入自定义JS脚本 为了实现如标题的目的#xff0c;需要开发一个Chrome扩展程序。接下来内容是实现简要步骤#xff1a; 一、新建文件夹#xff0c;命名为项目名#xff0c;如“MyPlugin”。 二、进入文件夹内#xff0c;新建名为“…在Chrome浏览器向正被浏览的外网网页植入自定义JS脚本 为了实现如标题的目的需要开发一个Chrome扩展程序。接下来内容是实现简要步骤 一、新建文件夹命名为项目名如“MyPlugin”。 二、进入文件夹内新建名为“manifest.json”的文件向其写入以下内容 {manifest_version: 2,name: My Plugin,version: 1.0.0,description: Hello, Chrome Plugin,icons:{16: icon.png,48: icon.png,128: icon.png},content_scripts: [{matches: [https://*.baidu.com/*],js: [Constant.js, Public.js, MyPlugin.js],run_at: document_idle}] }重点关注content_scripts字段 代码中matches指将自定义JS脚本植入目标网页URL。*为通配符代表0个或n个字符。 js指在项目文件夹的自定义植入目标网页URL的JS脚本文件。标明后它们之间的对象、函数可互相引用。 “run_at指JS脚本文件执行时刻缺省值为document_idle”表示页面空闲时。可选值还有document_start和document_end顾名思义。 三、接着是安装部署在Chrome浏览器打开“扩展程序”管理界面。 基于Chrome内核浏览器打开方法都大同小异不是在浏览器菜单栏找出“扩展程序”就是直接在地址栏写入chrome://extensions然后回车。 四、在“扩展程序”管理界面勾选“开发者模式”然后点击“加载已解压的扩展程序”选择项目文件夹确定后便完成安装部署。 开发注意事项 植入自定义JS脚本可操控页面的DOM但不能直接控制页面JS变量、方法。虽然不能直接但可间接方法就是向页面插入script元素具体操作请查看参考[2]。开发过程中修改自定义JS脚本内容并不能实时反映到浏览器中需要按CtrlR或在“扩展程序”管理界面在点击“Reload”。在后台调试自定义JS脚本按F12打开后台在“Console”tab页点击选择top下拉菜单选择自定义扩展程序如上文示例“My Plugin”接着便可访问自定义JS中变量等内容。 用JS发送GET消息 传统解决方法是使用XMLHttpRequest对象 function GET(url, handleFunc){var httpRequest new XMLHttpRequest()httpRequest.open(GET, url, true)httpRequest.send()httpRequest.onreadystatechange function(){if (httpRequest.readyState 4 httpRequest.status 200) {var responseText httpRequest.responseText// console.log(responseText:)// console.log(responseText)if(handleFunc) handleFunc(responseText)}}; }XMLHttpRequest是一种从JavaScript发送GET请求的旧方法几乎所有浏览器都支持它。XMLHttpRequest可以发送和接收任何类型的数据包括JSON、XML、文本等。它的使用主要是出于历史原因因为有很多基于XMLHttpRequest的遗留代码并且需要支持较旧的浏览器。 新的解决方法是使用Fetch API fetch(url, {headers: {Accept: application/json} }).then(response response.text()).then(text console.log(text))Fetch API是一个内置于大多数web浏览器中的现代接口它为生成HTTP请求提供了强大而灵活的方法。与XMLHttpRequestXHR不同Fetch API是基于promise-based的这使得发送HTTP请求更加容易并为您提供了一个更简单、更干净的API而无需嵌套回调。Fetch API支持GET、POST、DELETE和其他请求方法可以检索和发送数据包括文本、JSON和二进制数据。Fetch API是XMLHttpRequest的最佳替代方案可以轻松地与其他技术如Service Workers集成。 XMLHttpRequest相对于Fetch的唯一优点是Fetch还不能跟踪向服务器发送数据的进度。在Fetch API之前从JavaScript发送请求是相当尴尬的。这就产生了几个流行的JavaScript库jQuery、Axios等它们使从JavaScript发送GET和POST请求变得简单并且可以在XMLHttpRequest之上工作。 用JS发送POST消息 传统解决方法是用创建form元素迂回发送POST消息 function POST(url, params) {var temp document.createElement(form)temp.action urltemp.method posttemp.style.display nonefor (var x in params) {var opt document.createElement(input)opt.name xopt.value params[x]temp.appendChild(opt)}document.body.appendChild(temp)temp.submit()return temp; }POST(/my/url, {a:3, b:2, c:1})或者像上一节GET那样创建使用XMLHttpRequest对象发送POST消息 function POST(url, data){var httpRequest new XMLHttpRequest();httpRequest.open(POST, url, true);httpRequest.setRequestHeader(Content-Type, application/json);httpRequest.onreadystatechange function () {if (httpRequest.readyState 4 httpRequest.status 200) {//TODO:}}httpRequest.send(JSON.stringify(data)); }POST(/my/url, {a:3, b:2, c:1})新的解决方法是使用Fetch API fetch(https://reqbin.com/echo/post/json, {method: POST,headers: {Accept: application/json,Content-Type: application/json},body: JSON.stringify({ id: 78912 }) }) .then(response response.json()) .then(response console.log(JSON.stringify(response)))Fetch API的简要概述可看上一节具体参考[7]。 用JS将文本内容直接复制到系统剪贴板 function copyTextToClipboard(text) {var textArea document.createElement(textarea);textArea.value text;document.body.appendChild(textArea);textArea.select();document.execCommand(copy);document.body.removeChild(textArea); }copyTextToClipboard(要复制的内容);调用execCommand()还可以实现浏览器菜单的很多功能如保存文件、打开新文件、撤消、重做操作…等等。参考[4] 用JS快速查找数据 一、使用对象 let data {Alice: 25,Bob: 30,Charlie: 35,David: 40 };console.log(data[Alice]); // 25二、使用数组 使用数组来存储数据然后使用一些高效的算法来实现快速查找。 二分搜索可以说是最高效的排序算法不过要是先对数组进行排序操作。 let data [25, 30, 35, 40];function binarySearch(arr, key) {let low 0;let high arr.length - 1;while (low high) {let mid Math.floor((low high) / 2);if (arr[mid] key) {return mid;} else if (arr[mid] key) {low mid 1;} else {high mid - 1;}}return -1; }console.log(binarySearch(data, 30)); // 1三、使用Set Set是一种新的数据类型可以用来存储不重复的值。在JavaScript中可以使用Set来实现快速查找。 let data new Set([Alice, Bob, Charlie, David]); console.log(data.has(Alice)); // true四、使用Map Map是一种新的数据类型可以用来存储键值对。在JavaScript中可以使用Map来实现快速查找。 let data new Map([[Alice, 25],[Bob, 30],[Charlie, 35],[David, 40] ]);console.log(data.get(Alice)); // 25参考 ReqBin is an online API testing tool for REST and SOAP APIs【干货】Chrome插件(扩展)开发全攻略JS复制到剪贴板的实现方法_笔记大全_设计学院详解Javascript中document.execCommand()的用法js怎么样查找比较快-阿楠教学网Making a GET request with JavaScriptFetch API - Web API 接口参考 | MDNSending POST Request in JavaScript
http://www.hkea.cn/news/14357404/

相关文章:

  • wordpress零基础建站丰城网站建设公司
  • 足球竞猜网站开发计算机专业主要学什么女生
  • 贵州建设监理协会网站怎么把网站管理系统
  • 洛阳网站建设招聘信息友情链接交换网址大全
  • 网站建设服务ysaigo改网站js代码
  • 珠海网站建设杰作美食网站建设背景
  • 网站抠图怎么做的太原工业学院教务网络管理系统
  • 免费优化网站wordpress表单中文版
  • 沙发网站建设城乡和建设部建造师网站
  • 如何建一个外贸网站网站你懂我意思正能量晚上下载
  • 南宁手机端建站模板wordpress添加栏目插件
  • 广东省省建设厅网站网站备案怎么注销
  • 中国做外贸的网站有哪些免费咨询律师在线一对一问答平台
  • 手机微网站开发教程sae wordpress 插件
  • 中山精品网站建设咨询wordpress mysql5.1
  • 上海技术做网站专业做公司网页设计
  • 怎样加盟网站建设专门用于网页制作的软件
  • 摄影网站设计报告dede程序数据库还原图文教程★适合dede网站迁移
  • 毛衣品 东莞网站建设wordpress时间轴源码
  • 义乌门户网站建设济源网站建设价格
  • 网站建设主要包括什么网站视频插件代码
  • 3d全景网站怎么做中国互联网协会成员
  • 浙江省网站icp备案网站建设猪八戒
  • 上海大型网站建设公司排名浙江住房和建设网站
  • wordpress建站是什么意思网页设计与制作教程第四版电子书
  • 做网站界面多少钱建站公司成功案例
  • 网站登录破解西安知名的集团门户网站建设公司
  • 公司管理网站首页深圳网站公司招聘
  • 网站接入服务提供商短视频seo是什么
  • 安卓游戏模板下载网站公司网站怎么推广