前端-前端外包-北京前端外包公司

搜 索

Search:前端


chrome插件开发:前端chrome.tabs事件整理

 onCreated 事件标签创建时,此事件触发。请注意,当事件触发时,标签的 URL 可能没有被设置, 但是当URL被设置时,可以通过onUpdated 事件接听。 chrome.tabs.onCreated.addListener(function(Tab tab) {...}); onUpdated 事件...google chrome浏览器插件开发事件整理:onCreated 事件标签创建时,此事件触发。请注意,当事件触发时,标签的 URL 可能没有被设置, 但是当URL被设置时,可以通过onUpdated 事件接听。 chrome.tabs.onCreated.addListener(function(Tab tab) {...}); onUpdated 事件URL更新事件监听, 一般访问一个URL会触发两次,访问的时候触发,状态为loading,访问完成的时候触发 状态为complete chrome.tabs.onUpdated.addListener(function (id, info, tab) {    if (tab.status === 'loading') {        updateBrowserAction(id, tab.url);    }}); onActivated 事件当tab页被激活的时候触发即切换tab页,或者打开关闭tab都会触发。 chrome.tabs.onActivated.addListener(function (activeInfo) {    if (activeInfo.tabId) {        chrome.tabs.get(activeInfo.tabId, function (tab) {            updateBrowserAction(tab.id, tab.url);        });    }}); onRemoved 事件当关闭tab页时,被触发。 // Cleanup the variables when a tab is closedchrome.tabs.onRemoved.addListener(function (id) {    delete hostnameCache[id];    delete hostCache[id];});操作Create tab 新建tab页 chrome.tabs.create({            'url': 'https://www.hnn8.com'        }); 执行js chrome.tabs.executeScript(  tabID,  {code:"document.body.style.backgroundColor='red'"},  function(){}); getCurrent 获取当前tab chrome.tabs.getCurrent(function callback) sendRequest 发送请求 chrome.tabs.getSelected(null, function(tab) {  chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {    console.log(response.farewell);  });}); 发送的请求会被tab.id对应的标签页捕获, 如果需要处理的话,需要注册chrome.extension.onRequest事件监听器一般都是在content script 中注册该事件监听器,接受background的请求,反过来也一样。 其他文档http://open.chrome.360.cn/extension_dev/tabs.html 一般事件的注册都会放在background.js文件中。而tab的创建都是在主动发起的操作函数中,比如点击按钮等。 >>谷歌浏览器插件怎么安装

前端开发:JS中Map和ForEach的区别

 定义foreEach()方法:针对每一个元素执行提供的函数。map()方法:创建一个新的数组,其中每一个元素由调用数组中的每一个元素执行提供的函数得来。 区别... 定义foreEach()方法:针对每一个元素执行提供的函数。map()方法:创建一个新的数组,其中每一个元素由调用数组中的每一个元素执行提供的函数得来。 区别1、forEach()方法不会返回执行结果,而是undefined。也就是说,forEach()会修改原来的数组。而map()方法会得到一个新的数组并返回。2、没有办法终止或者跳出forEach()循环,除非抛出异常,所以想执行一个数组是否满足什么条件,返回布尔值,可以用一般的for循环实现,或者用Array.every()或者Array.some();例子制作一个数组的平方有如下一个数组let arr =[1,2,3,4,5,6]下面分别用forEach()和Map()forEach()注意,forEach是不会返回有意义的值的。我们在回调函数中直接修改arr的值。 arr.forEach((value, key) => { return arr[key] = value * value;});执行结果如下:  Map()let list = arr.map(value => { return value * value;}); 执行结果如下: 执行结果执行速度对比forEach()的执行速度 < map()的执行速度 速度比试 如何使用forEach适合于你并不打算改变数据的时候,而只是想用数据做一些事情 – 比如存入数据库或则打印出来。let arr = ['a', 'b', 'c', 'd'];arr.forEach((letter) => { console.log(letter);});// a// b// c// dmap()适用于你要改变数据值的时候。不仅仅在于它更快,而且返回一个新的数组。这样的优点在于你可以使用复合(composition)(map(), filter(), reduce()等组合使用)来玩出更多的花样。let arr = [1, 2, 3, 4, 5];let arr2 = arr.map(value => value * value).filter(value => value > 10);// arr2 = [16, 25]我们首先使用map将每一个元素乘以它们自身,然后紧接着筛选出那些大于10的元素。最终结果赋值给arr2。 总结forEach()可以做到的东西,map()也同样可以。反过来也是如此。 map()会分配内存空间存储新数组并返回,forEach()不会返回数据。 forEach()允许callback更改原始数组的元素。map()返回新的数组。 反转字符串var str = '12345';Array.prototype.map.call(str, function(x) {   //同时利用了call()方法  return x;}).reverse().join('');一个笔试题。["1", "2", "3"].map(parseInt);  //结果  [1, NaN, NaN]   如果想得到[1, 2,3]应该这么做function returnInt(element){  return parseInt(element,10);}["1", "2", "3"].map(returnInt);  这主要是因为 parseInt()默认有两个参数,第二个参数是进制数。当parsrInt没有传入参数的时候,而map()中的回调函数时候,会给它传三个参数,第二个参数就是索引,明显不正确,所以返回NaN了。  
标签:

前端开发:HTTP与HTTPS概念与区别

 HTTP与HTTPS概念与区别超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。... HTTP与HTTPS概念与区别超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。 一、基本概念HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 二、主要区别HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。 HTTPS和HTTP的区别主要如下:1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。 PS:如果你发现银行或较知名网站的网前为http,而不是https,则要留心了,可能是山寨网。看好你的钱包哦。
标签: