首页
学习
活动
专区
圈层
工具
发布

加点JavaScript魔法

如果你想了解弹窗像什么样,现在可以运行应用,跳转到任何用户的个人主页,然后在地址栏的URL中追加 /popup 以查看全屏版本的弹出窗口内容 02 popover 组件 在第十一章中,我向你介绍了可便捷地创建精美网页的...我要运行的函数将搜索页面中用户名的所有链接,并使用Bootstrap中的弹出窗口组件配置它们。 jQuery JavaScript库作为Bootstrap的依赖项加载,因此我将利用它。...例如,ID = 123的用户动态中具有id="post123"属性。然后使用jQuery,在JavaScript中使用表达式$('#post123')在DOM中定位此元素。...在本处,返回值将是具有该类的所有元素的集合 05 弹窗和 DOM 元素 通过使用Bootstrap文档中的弹出窗口示例并在浏览器的调试器中检查DOM,我确定Bootstrap将弹出窗口组件创建为DOM...如果用户将鼠标指针移动到其中一个用户链接中,并在移动它之前停留了半秒钟,我不希望该timer继续运行并调用显示弹出窗口的函数。

5.7K10

【干货】Chrome插件(扩展)开发全攻略

Chrome要求插件必须从它的Chrome应用商店安装,其它任何网站下载的都无法直接安装,所以,其实我们可以把crx文件解压,然后通过开发者模式直接加载。...博客园网摘插件popup效果 popup可以包含任意你想要的HTML内容,并且会自适应大小。可以通过default_popup字段来指定popup页面,也可以调用setPopup()方法。...在权限上,它和background非常类似,它们之间最大的不同是生命周期的不同,popup中可以直接通过chrome.extension.getBackgroundPage()获取background的...需要特别说明的是早些版本的Chrome是将pageAction放在地址栏的最右边,左键单击弹出popup,右键单击则弹出相关默认的选项菜单: ?...几点注意: 为了兼容,建议2种都写,如果都写了,Chrome40以后会默认读取新版的方式; 新版options中不能使用alert; 数据存储建议用chrome.storage,因为会随用户自动同步;

13K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从0到1开发Chrome插件

    前言 Chrome 插件是我们经常用到的,比如广告屏蔽,浏览器美化,访问国外网站等。但是你有想过 Chrome 插件是如何开发的吗?...也是在它里面定义的,主要部分 content_scripts 定义了插件生效策略。...插件全貌 images 中存放了插件 logo 等静态资源。 jquery 暂时预留,你可以将 js 和 css 等文件放在根目录,也可以将其放置到自定义文件中,区别只是使用时路径不一样。...因为在哔哩哔哩网站中未找到 ID 为“su”的元素,所以执行变红变大动作中断。 访问百度首页 启用插件前 百度首页的搜索按钮“百度一下”为白色,大小合适。...总结 对于 Chrome 从 0 到 1,我们可以用一句话总结:用户访问网站,manifest.json 拦截匹配后触发 my.js 执行,从而实现功能。期待你能开发出好用的 Chrome 插件。

    1.9K30

    25个常规方法优化你的jquery代码

    它节省了你服务器上的带宽,能够很快的从Google的内容分布网络(CDN)上加载JS类库。更重要的是,如果用户访问那些发布在Google Code上的站点后它会被缓存下来。 这样做很有意义。...如果你一次又一次的选择相同元素(例如在一个循环中),那么你可以一次选择出它并放入内存中,同时你可以在核心内容里操作它。...如果你向DOM中添加了新的元素,尽管这些新元素被选择器所匹配,但是这些新元素并不会绑定上事件处理(你同意我的观点吗?),因此不会有事件发生。 ...我们已经在自己的网站上使用了这个技术。本页面上部的紫色按钮会弹出三个表格,方位与Google地图,这会使我们页面大小增加两倍。...首先,在jQuery加载之后你可以使用方法将”JS”类添加到HTML标签中: 复制代码代码如下:$(‘HTML’).addClass(‘JS’); 因为这仅仅发生在javascript有效的时候,如果用户打开

    2.4K10

    通过代码重用攻击绕过现代XSS防御

    injectme= image元素将插入到DOM中,并且在加载期间会出错,从而触发onerror事件处理程序。...如果在浏览器中打开开发者控制台,则会看到一条说明原因的消息。 ? 凉!所以发生了什么事?IMG html元素已创建,浏览器看到了onerror事件属性,但由于CSP而拒绝执行JavaScript。...JavaScript执行接收器小工具:类似于我们刚才看到的示例,可以独立运行,也可以作为链中的最后一步 让我们看另一个例子。我们将使用相同的应用程序,但现在让我们包括jQuery mobile。 我们首先考虑以下html popup id='hello world'> 此HTML将触发jQuery Mobile的Popup Widget中的代码。...可能不明显的是,当您创建弹出窗口时,库会将id属性写入HTML注释中。 ? jQuery中负责此工作的代码如下所示: ? 这是一个代码小工具,我们可以滥用它来运行JavaScript。

    3K10

    30分钟开发一款抓取网站图片资源的浏览器插件

    你将收获 如何快速上手浏览器插件开发 浏览器插件开发的核心概念 浏览器插件的通信机制 浏览器插件的数据存储 浏览器插件的应用场景 开发一款抓取网站图片资源的浏览器插件 正文 在开始正文之前,我们先来看看笔者总结的概览...并且可以控制页面中的dom....在后面的浏览器插件案例中笔者会详细介绍content_scripts的用法. 2.4 popup popup是用户点击插件图标时打开的一个小窗口,当失去焦点后窗口就立即关闭,我们一般用它来处理一些简单的用户交互和插件说明...6.开发一款抓取网站图片资源的浏览器插件 首先还是按照笔者的风格,在开发任何一种工具之前都要明确需求,所以我们来看看该插件的功能点: 能植入网页按钮,通过点击按钮捕获网页图片 能在用户端展示捕获的图片...,并且在页面中植入弹窗来展示获取到的图片,另一方面需要将图片数据传递给storage,以便popup页面可以获取图片数据。

    1.6K10

    Chrome Extension

    严格来讲,我们正在说的东西应该叫Chrome扩展(Chrome Extension) 什么叫Chrome插件 Chrome插件是一个用Web技术开发、用来增强浏览器功能的软件,它其实就是一个由HTML、...HTML文件,点击扩展图标,弹出的面板页面(如果在manifest.json中配置了default_popup为该文件的话) ├ demo.js //一个或多个js文件,popup面板加载的js脚本文件...基本属性 //扩展程序的名称 "name": "我的扩展程序",//扩展程序的版本 "version": "版本字符串",//第一行声明我们使用清单文件格式的版本 2,必须包含 //(版本 1 是旧的,...popup可以包含任意你想要的HTML内容, 并且会自适应大小。...address bar 的前面 // 当用户在 address bar 中输入 keyword 后, 用户就是和插件在交互了 "keyword": "aString" }, // 其他需要的

    3.9K30

    前端组件整理

    但貌似只能在弹出层中显示,而没有下拉这种方式显示。 zebra-datepicker 可配置性很强。但貌似只能在弹出在右上方。。。...内容进行实时的编辑 summernote 在移动设备上用不错 HTML5播放器 jwplayer 被大量网站使用 html5media 简单的h5player,轻量级 jplayer 功能强太,...roundabout 3d切换,看的后面图片的边 弹出框 Magnific-Popup 兼容PC,Mobile。还不错,有5k+的star layer 国人开发的,兼容ie6+。...我的改进版见这里 TheaterJS 模拟两个人在屏幕上对话 midnight.js 文字颜色随着背景变,屌炸了 color-animation jquery的颜色渐变动画插件。...用户体验增强类 Intro.js 用来介绍网站的功能很不错。也可以做新手引导。 blockUI Lolding组件。 simple-hint 提示信息。用css做的。兼容性IE 9+。

    14.2K40

    jQuery中的常用内容总结(二)

    */ 7 });   以上第一种(同步)是ajax标准写法,第二种(异步)是jQuery简洁写法,当然如果是异步的话这两种写法都可行,但是,如果是同步(涉及到多个请求并且分前后的话...实际使用中这两种请求并没有明显的区别(是否幂等可以忽略不计);另外以上两种请求的方法的参数数量或返回参数的数量可能与jQuery完整写法不一致,对于这个问题,我的解释是:在js中,方法调用和方法申明这两者之中前者的参数可以少于后者的参数数量...~,遂,大家不要介意哈(●´∀`)~ B>事件  jQuery事件是在开发中几乎是每天都会有,这里先給大家列举下主要的几个事件-> bind():匹配的dom元素附加一个或多事件处理器,多个事件需使用空格隔开...);当然上图中id为p2的节点是用jQuery插入的(属于未来事件的处理范畴),比较合适的一种方式是用on来进行绑定,如果低版本的jQuery 的话建议也可以使用live()进行绑定( ̄ε  ̄)~ C>...,里面一堆配置参数哈~),其最大的好处就是自定义特别强而且原生,目前项目也用到过;在这里说个缺点哈:        这种弹框很容易被浏览器拦截(尤其chrome),如果拦截了请点击浏览器地址栏,然后点同意即可

    1.7K30

    jQuery中的常用内容总结(二)

    */ 7 });   以上第一种(同步)是ajax标准写法,第二种(异步)是jQuery简洁写法,当然如果是异步的话这两种写法都可行,但是,如果是同步(涉及到多个请求并且分前后的话...实际使用中这两种请求并没有明显的区别(是否幂等可以忽略不计);另外以上两种请求的方法的参数数量或返回参数的数量可能与jQuery完整写法不一致,对于这个问题,我的解释是:在js中,方法调用和方法申明这两者之中前者的参数可以少于后者的参数数量...~,遂,大家不要介意哈(●´∀`)~ B>事件  jQuery事件是在开发中几乎是每天都会有,这里先給大家列举下主要的几个事件-> bind():匹配的dom元素附加一个或多事件处理器,多个事件需使用空格隔开...);当然上图中id为p2的节点是用jQuery插入的(属于未来事件的处理范畴),比较合适的一种方式是用on来进行绑定,如果低版本的jQuery 的话建议也可以使用live()进行绑定( ̄ε  ̄)~ C>...,里面一堆配置参数哈~),其最大的好处就是自定义特别强而且原生,目前项目也用到过;在这里说个缺点哈:        这种弹框很容易被浏览器拦截(尤其chrome),如果拦截了请点击浏览器地址栏,然后点同意即可

    3.4K40

    jQuery中的常用内容总结(二)

    */ 7 });   以上第一种(同步)是ajax标准写法,第二种(异步)是jQuery简洁写法,当然如果是异步的话这两种写法都可行,但是,如果是同步(涉及到多个请求并且分前后的话...实际使用中这两种请求并没有明显的区别(是否幂等可以忽略不计);另外以上两种请求的方法的参数数量或返回参数的数量可能与jQuery完整写法不一致,对于这个问题,我的解释是:在js中,方法调用和方法申明这两者之中前者的参数可以少于后者的参数数量...~,遂,大家不要介意哈(●´∀`)~ B>事件  jQuery事件是在开发中几乎是每天都会有,这里先給大家列举下主要的几个事件-> bind():匹配的dom元素附加一个或多事件处理器,多个事件需使用空格隔开...);当然上图中id为p2的节点是用jQuery插入的(属于未来事件的处理范畴),比较合适的一种方式是用on来进行绑定,如果低版本的jQuery 的话建议也可以使用live()进行绑定( ̄ε  ̄)~ C>...,里面一堆配置参数哈~),其最大的好处就是自定义特别强而且原生,目前项目也用到过;在这里说个缺点哈:        这种弹框很容易被浏览器拦截(尤其chrome),如果拦截了请点击浏览器地址栏,然后点同意即可

    2K110

    用 Vue 开发自己的 Chrome 扩展

    将Vue添加到扩展 现在我们有一个非常基本的扩展,接下来要实现剩下的需功能了。当用户打开新标签页时,我希望扩展能够: 从精彩的笑话网站 icanhazdadjoke.com 获取一个笑话。...在 src 文件夹中还有一个 icons 文件夹。如果你看一眼 Chrome 的工具栏,会看到我们的扩展程序的新图标(也被称为 browser action)。这就是从此文件夹中拿到的。...如果单击它,你应该会看到一个弹出窗口,显示“Hello world!” 这是由 popup/App.vue 创建的。...在模板中,我们使用 v-if 块来显示加载消息或笑话,具体取决于 loading 的状态。最初它被设置为 true(显示加载消息),然后我们的脚本将触发 Ajax 请求来检索笑话。...likeJoke 方法在 Chrome 的存储中查找 jokes 属性。如果它不存在(也就是说,用户尚未喜欢一个笑话),会将其初始化为空数组。

    3.5K30

    身为前端,自己做一款简易的chrome扩展吧

    图标与弹出页面: 在manifest.json中,有个名为browser_action的key,其中"default_icon"和"default_popup"指的是扩展将显示的图标以及popup.html...如果扩展配置及安装成功,就会如下图所示,其中在popup.html文件中的内容将显示在图中default_popup区域中。 ?...content_srcipts: popup.html是扩展当中非常有用页面,可以与使用者进行一个交互,不过在清除页面广告中并非主角。...浏览至您的扩展程序文件所在的目录,并选定。 您也可以将扩展程序文件所在的目录拖放到浏览器中的 chrome://extensions 上加载它。...如果扩展程序有效的话,它将被加载并且立刻处于活动状态!如果无效的话,页面顶部将显示错误消息,请纠正错误再重试。 后记: 感谢有读者提出指正 谷歌扩展程序 与 插件 的异同。

    1.6K50

    火狐扩展开发入门实践

    为浏览器添加特性与功能,和在网页里编码相比他能帮助您处理页面上的数据按照开发者的流程进行,实际上扩展是用来提升或补充网站功能; 让用户展现他们的个性:浏览器扩展可以操控网页的内容; 从网页中添加或删除内容...3.browser action files: 在工具栏中添加按钮。 4.page action files: 添加到浏览器地址栏中的按钮,用户通过点击这个按钮与你的扩展进行交互。...描述:实现将扩展添加一个新按钮到 Firefox 的工具栏,并在用户点击该按钮时,我们会显示一个弹出窗(popup)来让他们选择操作; 实现要点: 1.定义Browser Action设置相应的图标,...你可以使用该API获取一个已打开标签的列表并且使用各种标准过滤标签,并进行 打开, 刷新,移动,重载,移除操作; 该API不能直接访问标签中的主机内容,但是你可以使用 tabs.executeScript...popup scrpit 就会使用该API在活跃标签页执行 content script,如果执行 content scrpit成功,content script会在页面中一直保持,直到标签被关闭或者用户导航到其他页面

    3.5K10

    前后端分离djangorestframe

    关于验证码部分,在我这篇文章里说的挺详细的了:Python高级应用(3)—— 为你的项目添加验证码 这里还是再给一个前后端分离的实例,因为极验官网给的是用session作为验证的,而我们做前后端分离的用的是...-- 为使用方便,直接使用jquery.js库,如您代码中不需要,可以去掉 --> jquery.com/jquery-1.12.3.min.js">的,所以这里再把前端部分换成vue看看,同时再换一个验证码方式看看,用的模板中的弹出式的: ?...或者request.POST了,而都是request.data里面,所以需要调整下,上面面的jquery例子里都没注意到,因为上面我没有做登录成功之后的验证,所以其实上面的例子里也需要改成request.data...启动项目,解释一下,不知道是不是我的浏览器显示比例的问题,我只要用自己的id和key,它这个验证码按钮就会跑到左边去,我试了用官方给的示例id和key就正常,如果你们也遇到就自己去调试css了,这里暂且这样了

    84620

    从0开始入门Chrome Ext安全(番外篇) -- Zoomeye Tools

    在开始之前,我们首先得明确chrome插件中不同层级之间的权限体系和通信方式: 在第一篇文章中我曾着重讲过这部分内容。...用户点击浏览器插件的功能 当用户点击浏览器插件的图标时,将会展示popup.html中的功能,并执行页面中相应加的js代码。...在Zoomeye的设计中,大部分的搜索结果都需要登录之后使用,而且其相应的多种请求api都是通过jwt来做验证。...--> 用户点击按钮跳转登录界面登录 --> 插件获取凭证之后储存 --> 用户打开网站之后点击插件 --> 插件通过凭据以及请求的host来获取zoomeye数据 --> 将部分数据反馈到页面中 紧接着我们配合...这样一来,插件就拿到了最关键的jwt token 用户打开网站之后点击插件 在完成了登录问题之后,用户就可以正常使用proview功能了。

    64510

    火狐扩展开发入门实践

    为浏览器添加特性与功能,和在网页里编码相比他能帮助您处理页面上的数据按照开发者的流程进行,实际上扩展是用来提升或补充网站功能; 让用户展现他们的个性:浏览器扩展可以操控网页的内容; 从网页中添加或删除内容...3.browser action files: 在工具栏中添加按钮。 4.page action files: 添加到浏览器地址栏中的按钮,用户通过点击这个按钮与你的扩展进行交互。...WeiyiGeek.执行效果 2.第二个扩展实例 描述:实现将扩展添加一个新按钮到 Firefox 的工具栏,并在用户点击该按钮时,我们会显示一个弹出窗(popup)来让他们选择操作; 实现要点: 1....你可以使用该API获取一个已打开标签的列表并且使用各种标准过滤标签,并进行 打开, 刷新,移动,重载,移除操作; 该API不能直接访问标签中的主机内容,但是你可以使用 tabs.executeScript...popup scrpit 就会使用该API在活跃标签页执行 content script,如果执行 content scrpit成功,content script会在页面中一直保持,直到标签被关闭或者用户导航到其他页面

    3.8K30

    一天学会Chrome插件开发

    Chrome插件就是一个网站类的应用,它是用html、javascript、css组成的一个webapp; 相比于通常的webapp, Chrome插件还可以调用更多浏览器层面的api,包括书签、历史记录...结合示例,我们细细来看: { // 清单版本号,建议使用 版本 2,版本 1 是旧的,已弃用,不建议使用 "manifest_version": 2, "name": "chome-plugin...://github.com/StevenX911/share/tree/master/source-read/chrome-plugin/no-socializing 加载并运行插件 在您的浏览器中访问...单击加载正在开发的扩展程序…,弹出文件选择对话框。 浏览至您的扩展程序文件所在的目录,并选定。...您也可以将扩展程序文件所在的目录拖放到浏览器中的 chrome://extensions 上加载它。 如果扩展程序有效的话,它将被加载并且立刻处于活动状态!

    1.1K50
    领券