首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Chrome扩展清单匹配的方式仅匹配基本URL,没有子页面

Chrome扩展清单匹配的方式是通过使用matches字段来指定URL匹配规则。这种方式只匹配基本URL,不包括子页面。

具体来说,matches字段可以接受一个或多个URL模式,用于指定扩展程序所应用的URL范围。URL模式可以使用通配符来匹配多个URL,包括以下几种常见的匹配方式:

  1. 通配符*:匹配任意字符序列(除了斜杠/)。
  2. 问号?:匹配任意单个字符。
  3. 斜杠/:用于分隔URL的不同部分。

以下是一些示例URL模式的使用:

  1. https://www.example.com/*:匹配以https://www.example.com/开头的所有URL,包括其子页面。
  2. https://www.example.com/foo/bar?*:匹配以https://www.example.com/foo/bar开头的URL,并且后面可以有任意查询参数。
  3. https://*.example.com/:匹配以https://开头,以.example.com/结尾的任意子域名的URL。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

浏览器插件开发-manifest文件解读「建议收藏」

插件之间的通信 消息传递 manifest.json 配置说明 manifest.json 用于描述 Chrome 插件的源数据,配置信息等,基本内容如下 { "name": "...清单文件格式的版本, Chrome 18 开发 写 2 即可 2. name 必填 插件名称 3. version 必填 插件版本,发布新版本后,浏览器会比较其已安装的插件的版本,有更新的版本则会自动更新...使用 chrome_ui_overrides 配置,详细配置查看文档,可以设置一些书签方面的规则 内置页面替换 使用 chrome_url_overrides 配置,详细配置查看文档,标签页、历史页、...) 接口中详细介绍 通信案例,通过 content_script 与页面 共享 DOM,来实现页面与扩展间的通信 // page.js 页面中触发一个postMessage document.getElementById...也可以是一个主机的匹配模式 权限字符串大多都对应着一个同名的 chrome[permissionName] API,全部的权限字符串可以点击上边链接查看,一下列出常用的权限 activeTab

2.5K20

基于Chrome插件的开发工具链

这个页面在点击图标的时候加载,并弹出页面,在页面隐藏的时候被关闭。要注意的是每次点击的时候都会重新加载 popup页面里的某些html属性的权限被安全限制所拦截,但是基本上都可以通过脚本解决。...软件结构 入口 chrome插件只有一个必须文件:清单文件mainfest.json。看后缀就知道是JSON格式的,具体内容可以参照文档里的“清单文件格式”部分。...值得一提的是,无论是清单文件格式还是popup页面还是载入脚本的api,路径都是相对于插件根目录的。...URL权限匹配表达式 插件可以访问哪些页面是要通过匹配表达式指定的,这个表达式有点像通配符,但是又不是通配符。 它的匹配表达式分为 协议、主机和路径三部分。...调试 chrome的调试已经非常强大了,在扩展页面上打开开发者模式,可以载入正在开发中的插件的文件夹。 后台页的调试可以在扩张页面点击插件下面的地址打开调试面板。

66720
  • 【JS 逆向百例】浏览器插件 Hook 实战,亚航加密参数分析

    逆向过程 抓包分析 来到航班状态查询页面,随便输入出发地和目的地,点击查找航班,例如查询澳门到吉隆坡的航班,MFM 和 KUL 分别是澳门和吉隆坡国际机场的代码,查询接口由最基本的 URL + 机场代码...既然是通过编写浏览器插件的方式进行 Hook,那么首先我们肯定是要简单了解一下如何编写浏览器插件了,编写浏览器插件也有对应的规范,在以前,不同浏览器的插件编写方式都不太一样,到现在基本上都和 Google...Chrome 插件的编写方式一样了,Google Chrome 的插件除了能运行在 Chrome 浏览器之外,还可以运行在所有 webkit 内核的国产浏览器,比如 360 极速浏览器、360 安全浏览器...content_scripts:Chrome 插件中向页面注入脚本的一种形式,包括地址匹配(支持正则表达式),要注入的 JS、CSS 脚本,代码注入的时间(建议 document_start,网页开始加载时就注入...Google Chrome 在浏览器地址栏输入 chrome://extensions 或者依次点击右上角【自定义及控制 Google Chrome】—>【更多工具】—>【扩展程序】,进入扩展程序页面,

    5.7K00

    【CSS】636- 你必须记住的30个css选择器

    web设计者经常用它将页面中所有元素的margin和padding设置为0。*选择符也可以在子选择器中使用。...用于选取X元素下子元素Y,要留意的点是,这种方式的选择器将选取其下所有匹配的子元素,无视层级,所以有的情况是不宜使用的,比如上述的代码去掉li下的所有a的下划线,但li里面还有个ul,我不希望ul下的li...在属性选择器中使用$,用于匹配结尾为特定字符串的元素。在上面代码中匹配的是所有链接到扩展名为.jpg图片的链接。(注意,这里仅仅是.jpg图片,如果要作用于所有图片链接该怎么做呢,看下一个选择器。)...例如上面的代码设置页面中出现的第三个无序列表ul的边框。 兼容浏览器:IE9+、Firefox、Chrome、Safari 25....X:only-of-type li:only-of-type { font-weight: bold; } 这个伪类匹配的是,在它上级容器下只有它一个子元素,它没有邻居元素。

    87830

    如何实现一个谷歌浏览器插件

    如何实现一个谷歌浏览器插件 一、什么是Chrome插件? ★Chrome插件就是我们运行在Chrome浏览器 上的扩展程序,比如说vue-devtool。...准确的说,其实更应该叫做Chrome扩展,因为插件是更偏向于底层的技术。Chrome插件本质上来说,就是利用WEB开发技术,包括HTML、CSS和JS等开发出来的web页面,用来增强浏览器的功能。...” 二、基本组成 manifest.json: 插件的配置文件 这是插件最重要也是最不可或缺的文件,它包含了插件的所有配置信息。..."48": "img/icon.png", // 显示在扩展程序管理页面上 "128": "img/icon.png" // 在安装和Chrome Webstore...background:常驻浏览器后台的页面 // 会一直常驻的后台JS或后台页面 "background": { // 2种指定方式,如果指定JS,那么会自动生成一个背景页

    1.4K31

    Tampermonkey的安装与使用

    Tampermonkey的安装 方式一 Chrome商店直接下载 Chrome商店 -> 搜索 Tampermonkey -> Tampermonkey 安装即可 ?...一般情况下是无法下载的,除非你能。。。 方式二:第三方网站进行插件文件下载 进入https://www.crx4chrome.com/crx/755/进行安装文件的下载,下载完成后。...支持正则语句 注意: @include 不支持 URL 哈希参数,必须匹配没有哈希参数的路径并使用 示例: // ==UserScript== // @name New Userscript...它对 * 字符的含义设置了更严格的规则。 @match 与 @include他们都是匹配基于一组由匹配模式定义的 URL。匹配模式本质上是以允许的方案开头的 URL。...如果主机是 *.hostname,则它匹配指定的主机或其任何子域。在路径部分,每个 '*' 匹配 0 个或多个字符。

    2.4K40

    带你快速走进Chrome扩展开发的大门

    向 Chrome DevTools 添加功能。 Chrome扩展文件? 序号 类型 描述 1 manifest 扩展程序的清单是唯一必须具有特定文件名的必需文件: manifest.json 。...它还必须位于扩展程序的根目录中。清单记录重要的元数据,定义资源,声明权限,并标识哪些文件在后台和页面上运行 2 content scripts 内容脚本在网页上下文中执行 Javascript。...它可以使用所有的Chrome API,但不能直接与网页内容交互;这就是内容脚本的工作 4 popup/page 扩展可以包含各种 HTML 文件,例如弹出窗口、选项页面和其他 HTML 页面。...所有这些页面都可以访问 Chrome API 实现阅读时长提示 通过开发chrome expansion实现在掘金文章页面提示读者完成阅读所需要的大概时间。...扩展程序(chrome://extensions/) 打开开发者模式 加载已解压的扩展程序(包含清单文件的文件夹) PS:插件开发过程中会多次修改,在修改后需要在浏览器的扩展程序中重新刷新后生效 实现专注阅读模式

    82010

    清除页面广告?身为前端,自己做一款简易的chrome扩展吧

    其实明白了这一点,那么我们的目的就很明确了,要做一个清除页面广告的扩展程序,核心就是编写一个脚本文件,注入到我们访问的页面中,通过匹配广告元素的DOM节点,将其干掉清除。...manifest.json: 我们的扩展目录需要创建的第一个文件是一个清单文件,包含了应用(扩展)的基本信息,如扩展名称、版本号,及最重要的文件列表,应用(扩展)所需要的权限等。...下面是content scipt可以做的一些事情范例: 匹配页面中的DOM结点,并修改他们的样式 放大页面字体使文字更清晰 从页面中找到没有写成超链接形式的url,并将它们转成超链接。 ..........(所有你能想到的) manifest.json中的content_scripts,有个"js"的key,扩展将会向所有匹配的页面,依次注入在"js"当中定义的页面,在本扩展程序中,就是依次注入了"js/...有兴趣的朋友可以自行改写。 这样,一个简单的清除广告的扩展程序就编写好了,只要扩展正常安装,脚本将会被注入到所有匹配到的页面当中并发挥作用,看一下效果: 开启扩展前后: ? ?

    1.2K50

    Selenium工具学习

    定位的内容可以模块部分值, 但是必须能代表唯一性 XPath定位 为什么要有XPath 如果没有id、name、calss ,该如何定位 ?...HTML可以看作是XML的一种实现方式,所以Selenium可以在web中定位元素 扩展 一般情况下, 尽量使用相对路径而不是用绝对路径。...#匹配type 匹配输入密码 //input[@id='passwordA'] 利用元素属性-定位 属性与逻辑结合-定位 层级与属性结合定位 基本语法 // 后面跟的是相对路径 / 后面跟决定路径...路径表达式 xpath通配符 Xpath 表达式的通配符可以用来选取未知的节点元素,基本语法如下: Xpath内建函数 Xpath 提供 100 多个内建函数,这些函数给我们提供了很多便利,比如实现文本匹配...css定位的比较 浏览器操作的常用方法 browser.get(url):打开指定的URL browser.back():返回上一个页面 browser.forward():前进到下一个页面 browser.refresh

    11410

    Service Worker最佳实践

    chrome浏览器(最好是M53以后版本)打开上述页面后,按F12键进入inspect调试模式后 图2 单击图2 inspect调试界面中的1及2后会出现当前页面域下的所有Service Worker...脚本被安装的install事件中缓存index页面主资源及子资源, 图7 在激活事件activate监听事件中清除历史缓存,在这里需要注意的是caches.keys遍历的是当前域下所有的cache,可能同域下的其它...progressive-cache 图11 4.2.3 仅使用缓存 在fetch事件中,仅去匹配资源,若匹配失败,表现出来的就是前端页面对于该 资源加载失败。...cache-only 图12 4.2.4 仅使用网络 在fetch事件中,仅将request重新抽出用fetch去网络加载并返回给前端页面。适用于资源大多是动态资源、实时性要求高的场景。...network-first 图14 4.2.7 速度优先 在fetch事件中同时发起本地缓存匹配及网络请求,谁先返回使用谁的,该方案适用于对性能要求比较高的站点,缩短了缓存优先策略中有可能缓存中没有资源再折回网络的时间消耗

    2.4K10

    Chrome Extension

    应用也可以通过其它方式提供界面,比如加入到上下文菜单,提供一个选项页面或者用一个 content script改变页面的显示等。...我们来详细介绍一下基本的属性和常用的....基本属性 //扩展程序的名称 "name": "我的扩展程序",//扩展程序的版本 "version": "版本字符串",//第一行声明我们使用清单文件格式的版本 2,必须包含 //(版本 1 是旧的,..., 其实就是Chrome插件中向页面注入脚本的一种形式(虽然名为script,其实还可以包括css的), 借助content-scripts我们可以实现通过配置的方式轻松向指定页面注入JS和CSS 最常见的比如...注意千万不要将您的私有密钥包含在扩展程序中! 创建包 进入以下URL,打开扩展程序管理页面:chrome://extensions 确保右上角的开发者模式复选框已选中.

    2.9K30

    uBlacklist 订阅合集

    规则可以通过以下方式指定: 匹配模式 (示例: *://*.example.com/*,这样的话会屏蔽 example.org 网站) 或使用 正则表达式 (示例: /example\....JAPAN ✔️ Yandex ✔️ *1 仅当 “Always play videos on Qwant.com” 关闭时; *2 仅支持某些公共实例,如果您想将自己的 SearX/SearXNG...添加到支持列表,你需要前往src/common/search-engines.ts,并手动将您的搜索引擎添加到列表中,然后手动进行构建; *3 由于获取图片链接的完整 URL 比较困难,此扩展程序不支持...Brave Image Search 中按子域名进行拦截。...其他设置(选填) # 设置 - 常规: 在谷歌的搜索结果中将不会显示以下网站 你可以使用 匹配模式 或 正则表达式。 要使用页面标题来屏蔽网站,请在正则表达式前添加「title」。

    16310

    玩转谷歌优化(Google Optimize)

    尽管谷歌上有好几种安装谷歌优化的方式,目前最推荐的方式就是在你的网站上原有的GA代码上添加一行谷歌优化的代码。设置谷歌优化的基本过程如下: 1. 创建谷歌优化账号和容器 2....03 选择要运行的实验类型。以下是三个基本的选项: A/B测试。测试一个页面的两个或多个变体,也称为A/B/N测试。这是最常见的实验。 多变量测试。...包含/不包含 包含匹配类型(也称为“子串匹配”)允许你使用较长的字符串定向出现的任何子字符串。 以…开头/非…开头“以..开头”类型的匹配从查询字符串开头到包含指定字符串中最后一个字符的相同字符。...以…结束/非…结束 输入的值与URL结尾的完全匹配。你可以定向URL末尾为“/thankyou.html”的购物车页面。...10 巧用可视化编辑器来编辑变体 要使用优化可视化编辑器,你需要使用Google Chrome浏览器的Google Chrome浏览器优化扩展程序。

    3.8K70

    教程|Python Web页面抓取:循序渐进

    创建基本应用程序,建议选择简单的目标URL: ✔️不要将数据隐藏在Javascript元素中。有时候需要特定操作来显示所需的数据。从Javascript元素中删除数据则需要更复杂的操作。...CTRL + U(Chrome)或右键单击打开页面源,选择“查看页面源”。找到嵌套数据“最近”的类。也可以按F12打开DevTools,选择“元素选取器”。...输出数据 Python页面抓取需要对代码进行不断的检查 输出1.jpg 即使在运行程序时没有出现语法或运行错误,也仍然可能存在语义错误。...第二条语句将变量“df”的数据移动到特定的文件类型(在本例中为“ csv”)。第一个参数为即将创建的文件和扩展名分配名称。因为“pandas”输出的文件不带扩展名,所以需要手动添加扩展名。...更多的Lists Python页面抓取通常需要许多数据点 更多1.jpg 许多Web爬虫操作需获取几组数据。例如,仅提取电子商务网站上项目标题用处不大。

    9.2K50

    从0开始入门Chrome Ext安全(三) -- 你所未知的角落 - Chrome Ext安全

    BrowserFrameLoader.js会被直接插入到http、https、ftp三个域内,由于all_frames,还会被直接插入到页面内的每一个iframe子框架下。...: matches: 匹配生效的域 exclued_matches: 不匹配生效的域 include_globs: 在前两项匹配之后生效的匹配关键字 exclude_globs: 在前两项匹配之后生效的排除关键字...,而update函数可以更新页面中的信息,包括url等,eval和setTimeout可以执行插件代码,但也同样会被可能会受到CSP的限制。...整个利用链被链接起来,简化为: 1、构造恶意页面在“*://*/*3cphone.html*”,受害者访问该页面/将链接植入到某个点击劫持/URL跳转/。...,再辅以一些人工基本上就能找到一个漏洞。

    42510

    小技巧 | Get 到一个 Web 自动化方案,绝了!

    Chrome 插件 Chrome 扩展插件运行于基于 Chromium 内核的浏览器 包含:Chrome 浏览器、Microsoft Edge、360 浏览器等 一个 Chrome 扩展插件有 3 类文件组成...这里设置所有的页面都会执行 content.js 脚本,当匹配到第二个页面时,执行 content_vx.js 脚本 需要指出的是,run_at 设置为 document_end,代表当页面加载完成后..."", // 匹配的URL "tabs", // 标签 "notifications" // 通知 ] } 3-3 编写注入脚本...,我们可以进入到 Chrome 插件管理界面 开启「 开发者模式 」,然后点击左侧的「 加载已解压的扩展程序 」加载上面创建的项目文件夹 开启扩展插件,每次打开目标网站或退出登录时,会发现网页会自动完成登录操作...最后 本例仅利用 content_scripts 注入一段脚本,通过操作 DOM 元素,将一个繁琐的登录操作做成自动化 实际上,复杂的 Chrome 插件会涉及到 background 配置、浮框布局

    1.2K20

    小技巧 | Get 到一个 Web 自动化方案,绝了!

    Chrome 插件 Chrome 扩展插件运行于基于 Chromium 内核的浏览器 包含:Chrome 浏览器、Microsoft Edge、360 浏览器等 一个 Chrome 扩展插件有 3 类文件组成...这里设置所有的页面都会执行 content.js 脚本,当匹配到第二个页面时,执行 content_vx.js 脚本 需要指出的是,run_at 设置为 document_end,代表当页面加载完成后...        "", // 匹配的URL         "tabs", // 标签         "notifications" // 通知     ] } 3-3  编写注入脚本...,我们可以进入到 Chrome 插件管理界面 开启「 开发者模式 」,然后点击左侧的「 加载已解压的扩展程序 」加载上面创建的项目文件夹 开启扩展插件,每次打开目标网站或退出登录时,会发现网页会自动完成登录操作...最后 本例仅利用 content_scripts 注入一段脚本,通过操作 DOM 元素,将一个繁琐的登录操作做成自动化 实际上,复杂的 Chrome 插件会涉及到 background 配置、浮框布局

    1.2K00

    写html页面没意思,来挑战chrome插件开发

    清单文件是插件的配置文件,包含插件的名称、版本、描述、权限以及其他相关信息。背景脚本用于处理插件的后台逻辑,而内容脚本则用于在网页中执行JavaScript代码。...id onConnect onMessage sendMessage content.js运行于一个独立、隔离的环境,它不会和主页面的脚本或者其他插件的内容脚本发生冲突 有2种方式添加content脚本...matches表示需要匹配的页面;除了这3个属性,还有 run_at: 脚本运行时刻,有以下3个选项 document_idle,默认;浏览器会选择一个合适的时间注入,并是在dom完成加载 document_start...document_end:dom加载完成之后 exclude_matches:排除匹配到的url地址。作用和matches相反。...页面 chrome.tabs.create({ url: 'https://www.baidu.com/s?

    42811

    JS逆向技巧分享

    本片文章是我逆向js时一些技巧的总结,如有遗漏,欢迎补充。 所需环境:Chrome浏览器 1....2.2 XHR debug 匹配url中关键词,匹配到则跳转到参数生成处,适用于url中的加密参数全局搜索搜不到,可采用这种方式拦截 2.3 行为debug 适用于点击按钮时,分析代码执行逻辑...如果想保留这个函数,可使用 this.xxx=xxx 的方式。之后调用时无需debug到xxx函数,直接使用this.xxx 即可。 5. 修改堆栈中的参数值 6. 写js代码 7....勾子 以chrome插件的方式,在匹配到关键词处插入断点 8.1 cookie钩子 用于定位cookie中关键参数生成位置 当cookie中匹配到了 TSdc75a61a , 则插入断点...mainfest.json 即可 打开chrome 的扩展程序, 加载已解压的扩展程序,选择步骤1创建的文件夹即可 切换回原网页,刷新页面,若钩子函数关键词匹配到了,则触发debug

    89021
    领券