博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
chrome-extension & inject.js
阅读量:5339 次
发布时间:2019-06-15

本文共 1512 字,大约阅读时间需要 5 分钟。

chrome-extension & inject.js

inject.js

/* eslint-env browser */(() => {  try {    const detectJs = (chain) => {      const properties = chain.split('.');      let value = properties.length ? window : null;      for (let i = 0; i < properties.length; i++) {        const property = properties[i];        if (value && value.hasOwnProperty(property)) {          value = value[property];        } else {          value = null;          break;        }      }      return typeof value === 'string' || typeof value === 'number' ? value : !!value;    };    const onMessage = (event) => {      if (event.data.id !== 'patterns') {        return;      }      removeEventListener('message', onMessage);      const patterns = event.data.patterns || {};      const js = {};      for (const appName in patterns) {        if (patterns.hasOwnProperty(appName)) {          js[appName] = {};          for (const chain in patterns[appName]) {            if (patterns[appName].hasOwnProperty(chain)) {              js[appName][chain] = {};              for (const index in patterns[appName][chain]) {                const value = detectJs(chain);                if (value && patterns[appName][chain].hasOwnProperty(index)) {                  js[appName][chain][index] = value;                }              }            }          }        }      }      postMessage({ id: 'js', js }, '*');    };    addEventListener('message', onMessage);  } catch (e) {    // Fail quietly  }})();

转载于:https://www.cnblogs.com/xgqfrms/p/10487883.html

你可能感兴趣的文章
HI3531uboot开机画面 分类: arm-linux-Ubunt...
查看>>
制作U盘启动CDLinux 分类: 生活百科 ...
查看>>
leetcode——Best Time to Buy and Sell Stock
查看>>
Android LinearLayout 的几个属性
查看>>
strcpy函数里的小九九
查看>>
搭建ssm过程中遇到的问题集
查看>>
OpenLayers绘制图形
查看>>
tp5集合h5 wap和公众号支付
查看>>
Flutter学习笔记(一)
查看>>
iOS10 国行iPhone联网权限问题处理
查看>>
洛谷 P1991 无线通讯网
查看>>
[HIHO1184]连通性二·边的双连通分量(双连通分量)
查看>>
Codeforces Round #178 (Div. 2) B. Shaass and Bookshelf 【动态规划】0-1背包
查看>>
SparkStreaming 源码分析
查看>>
【算法】—— 随机音乐的播放算法
查看>>
mysql asyn 示例
查看>>
DataGrid 点击 获取 行 ID
查看>>
git 使用
查看>>
边框圆角方法
查看>>
asp.net WebApi自定义权限验证消息返回
查看>>