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

身为程序猿——谷歌浏览器的这些骚操作你真的废吗!【熬夜整理&建议收藏】

(2)Network面板(爬虫中过滤请求及过滤数据类型必用——比如过滤掉异步加载出来的请求!) (3)设置断点(爬虫高级中JS渗透必用到的操作!) 第一部分:如何使用! 第二部分:逐步调试!...定位小箭头按钮(左边第一个): 选中Elements面板,并启动该按钮,可以页面中定位相应元素的源代码位置,或者选择源代码位置可定位到页面相应的元素。...输入full:可以截屏(会将整个页面截下来) (2)Network面板(爬虫中过滤请求及过滤数据类型必用——比如过滤掉异步加载出来的请求!)...使用断点来暂停JavaScript代码,审查变量的值和在特定时刻所调用的堆栈。 设置断点的最基本的方法是在特定的代码行上手动添加一个断点。也可以将这些断点配置为仅在满足特定条件触发。...当代码在断点处暂停,CallStack(调用堆栈)窗格显示执行路径,按时间逆序,将代码带到该断点。这有助于理解现在执行到哪里,它是如何到达这里的,是调试的一个重要因素。

2.4K30

一些你可能不知道的奇葩调试技巧

条件断点: 条件断点是一种高级的调试技巧,它允许我们为某个特定的代码行设置断点,但这个断点只有在满足某个特定条件才会触发。...: 仅在使用 2 个参数调用当前函数断点:arguments.callee.length === 2 ,如果这个函数有多个可选的重载的时候会很有用。...页面加载后 7 秒断点:performance.now() > 7000,当你想要设置断点,但只想在初始页面加载断点执行时会很有用。...(), (Date.now() - window.baseline) > 7000 也可以根据计算的 CSS 值断点,例如,仅当文档正文具有红色背景色暂停执行: window.getComputedStyle...(document.body).backgroundColor === "rgb(255,0,0)" 我们还可以用它来追踪函数的调用堆栈:比如说,你有一个函数用于显示加载动画,还有一个函数用于隐藏它,

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

JavaScript 开发者需要了解的15个 DevTools 技巧

重新加载页面,面板将用条形图显示未使用代码的百分比: ? 单击任何 JavaScript 文件,未使用的代码会用红条突出显示。 5....找到DOM更改代码 当事件被触发,很难确定哪个函数负责更新特定的 HTML DOM 元素。...输入一个表达式,例如 "The value of x is", x 每当执行该行代码,消息就会出现在 DevTools 控制台中。logpoints 通常将在页面刷新之间保持不变。 10....断点有的时候并不好用,例如,如果在运行 1000 次的循环的最后一次循环报错了。这时你可以添加一个条件断点,让它仅在满足特定条件触发断点,例如 i > 999 。...可以在 Chrome 中或使用任何代码编辑器来编辑文件,每当重新加载页面,都将使用更新的版本。 14. 管理客户端存储 网页可以使用多种技术将数据存储在客户端上。

4.7K20

最新iOS设计规范二|7大应用架构

一般作为临时性的形式出现在页面当中,和用户先前上下文有明显的区别。需要明确的操作可以退出。...只有在需要将用户的注意力集中在做出选择或执行与当前任务不同的任务,才能创建模态体验。模态体验使用户脱离当前的页面并需要用户主动关闭,因此只有当创建模态体验有明确的好处使用它。...当您具有内容类型相同的多个页面,请使用页面控件。页面控件清楚地传达了可用页面的数量以及当前处于活动状态的页面。天气应用程序使用页面控件来显示特定于位置的天气页面。...文案中没有必要包含APP的名称 - 因为系统可以自动识别你的APP并带入名称。 仅在应用需要正常运行时,在启动请求权限。...没有必要不要请求位置信息。在获得位置位置信息之前,检查系统以查看是否已启用位置服务。如果已经开启, 你可以在用户真的需要用到该功能再进行警示框提醒,甚至可以直接省略掉警示框。

2.5K20

你还在用 console.log 调试 ?

虽然目前大多数浏览器中的内置开发工具,都允许您调试正在浏览的页面,停止在特定代码行上或者在特定语句上执行代码,但在本文中,我们将主要讲解 Chrome 开发者工具。 什么是断点?...通常,您可能希望停止执行代码,以便您可以逐行地查看特定的上下文。 一旦代码在断点处停止,我们就可以通过访问作用域,查看调用堆栈,甚至在运行时更改代码来进行调试。 如何设置断点?...在右侧面板中您可以使用 Return value 查看匿名函数的返回值。 ? 查看匿名函数返回值 临时取消断点 场景:您在代码中设置了一堆断点。 在调试,多次刷新页面是很常见的操作。...报错暂停 条件断点 顾名思义,条件断点就是仅在条件为真触发的断点。 例如,在上面的示例中,用户可以在文本区域中输入非数值。由于 JS 的兼容性只会显示 NaN 而不是抛出错误。...当然,您可以设置一个断点,但复现错误并不容易,可能最终花费半小时来执行代码。在这种情况下,您可以使用条件断点,并仅在出现 NaN 停止执行代码。 如下图: ?

1.5K10

Service Worker最佳实践

Worker脚本中保存需要持久化的信息,可以借助localstorage),当打开新的可管辖页面或者已管辖页面发起message等消息,Service Worker进/线程会被重新唤起。...,在单击6就会进入图3界面,这个时候调试Service Worker脚本就如调试前端页面js一样,可以随意在Service Worker脚本中下断点。...如果在fetch监听事件中打上断点,当页面刷新或者页面中有其它请求便会到达Service Worker线程,使得Service Worker脚本中的fetch事件执行被中断,这时可以将鼠标移动到fetch...图4 Service Worker可以缓存资源,点击图2中的7便可以看到图4展示,表明了当前浏览器对当前页面的资源缓存情况,可以通过鼠标右键特定资源对资源进行删除操作。...cache-only 图12 4.2.4 仅使用网络 在fetch事件中,仅将request重新抽出用fetch去网络加载并返回给前端页面。适用于资源大多是动态资源、实时性要求高的场景。

2.2K10

Android Studio之Debug运行期代码植入的方法

条件断点 当添加断点的方法会被多次执行到,而我们只希望程序在特定的一些特定的地方(如只有在当前的user是 黑寡妇 )断下来,此时我们可以借助条件断点,如下 ?...注意看一下 Condition 部分,此处需要返回一个 boolean 类型的值,该值就是为了告诉程序当执行到该行代码是否进行断点,true表示进行断点,false反之。...改变变量状态 有时需要对断点的变量赋值操作,已更改此时变量的值,这时可以使用 Set Value 方式,如下 ? 除了 Set Value ,还可以通过估值器进行改变值状态,如下 ?...return false; 这就相当于提供了运行期代码的动态植入功能,而且可以通过 Enable/Disable 断点的状态来进行开启/关闭该部分动态代码是否执行。...添加植入的复制代码之后,进入Debug模式,然后重新进入该页面,显示的图片便替换为修改后的了。 ? 以上就是本文的全部内容,希望对大家的学习有所帮助。

1.3K10

利用特殊协议加载本地文件, 绕过 HTML5 沙箱, 打开弹窗诸事

左边有我用来测试一切的页面,在右边, WinDbg 附加到特定的 Edge 进程。 ?...如果我们开始在 iframe 中使用协议,有可能我们自己的页面(顶部)将被卸载,失去我们刚刚键入的代码。我特定的测试页面保存了我键入的内容,如果浏览器崩溃,它很可能被恢复。...但即使一切都保存下来了,当我编写一些可以改变我测试页面的 URL 的代码,我就在一个新窗口中打开它。这只是一种习惯罢了。...有了这些信息,我们可以在 Edge 调用之前设置一个断点,看看 RCX 在那个确定时刻有何值。但是我们重新启动一遍程序吧,因为这时已经有点迟了:Edge 已经崩溃了。...请重新按照上面描述的做一遍(杀掉 Edge 进程,打开它,加载页面,找到进程并附加上去)。 这个时候,不要运行(F5)进程,我们先设置一个断点

2.3K80

JavaScript 中的防抖和节流

当第一次触发事件,不会立即执行函数,而是在 delay 秒后执行。而后再怎么频繁触发事件,也都是每 delay 时间执行一次。...节流中用时间戳或定时器都是可以的。更精确地,可以用时间戳 + 定时器,当第一次触发事件马上执行事件处理函数,最后一次触发事件后也还会执行一次事件处理函数。...原理是通过判断是否到达一定时间来触发函数。...鼠标不断点击触发,mousedown (单位时间内只触发一次) 监听滚动事件,比如是否滑到底部自动加载更多,用 throttle 来判断 区别 函数节流不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数...而函数防抖只是在最后一次事件后触发一次函数。 比如在页面的无限加载场景下,我们需要用户在滚动页面,每隔一段时间发一次 Ajax 请求,而不是在用户停下滚动页面操作去请求数据。

75220

Visual Studio 调试系列3 断点

如果在指定断点条件使用的语法有效但语义无效,则在第一次命中断点将出现警告消息。 在任一情况下,调试器将中断它会命中断点无效。 仅在条件有效且计算结果为 false才会跳过断点。...筛选器 可以断点限制为仅在指定设备上或在指定进程和线程中触发。...如果断点是空心圆,禁用断点,或尝试设置断点出现警告。 若要确定的不同,断点上悬停并查看是否存在一条警告。 以下两个部分介绍重要警告以及如何解决这些问题。...“尚未为此文档加载任何符号” 转到模块窗口 (调试 > Windows > 模块) 并检查是否为你的模块加载。 ? ? ? 如果加载你的模块,则检查符号状态列,以查看是否加载符号。...若要解决此问题,重新生成项目。 如果生成系统认为该项目已经是最新但没有,可以强制项目系统在重新生成通过再次保存源文件或通过清除项目的生成输出生成前。

5.2K20

【交互探讨】无限滚动还是分页展示,这是个问题!

(通常不会成功) 最重要的是,无限滚动会破坏滚动条,因为每次滚动都必须重新校准用户对页面长度的预期。滚动条是对页面实际长度的预示,但是对于新加载的项目,预示总是错误的。...例如,我们可以在初始页面加载显示10-30个产品项目(移动设备上显示10个,桌面设备上显示30个)。当用户到达列表末尾,我们可以自动加载接下来的10-30个产品。...“加载更多”在电子商务中应用效果很好 ——因为所有项目都显示在一个页面上,并且页脚总是可以到达的,因此用户可以很好控制他们看到的所有项目。...这是否意味着我们可以完全放弃无限滚动?并不是这样的。无限滚动最大的优势是显示结果的速度——当用户想要查看更多内容直接显示新项目。事实证明,有一些技巧和策略可以让无限滚动变得更好。...滚动页面的 URL 会发生变化,并且页码会在吸底底部栏中更新。用户还可以在分页下拉菜单中导航到特定页面。当然,折叠面板也可以在点击打开页脚。

3.1K20

js中的防抖和节流

一、目的:防止函数被无意义高频调用 二、理解: 1、防抖(debounce) 本质:函数在特定的时间内不再被调用后执行 原理:设置一个定时器,如果在设定的时间间隔内事件再次触发,就会清除上一次的定时器并重新设置和计时...原理:用时间戳来判断是否已到回调该执行时间,记录上次执行的时间戳,然后每次触发 scroll 事件执行回调,回调中判断当前时间戳距离上次执行时间戳的间隔是否已经到达 规定时间段,如果是,则执行,并更新上次执行的时间戳...setTimeout,可以把状态位换成时间戳,然后利用时间戳差值是否大于指定间隔时间来做判定。...原理是通过判断是否有延迟调用函数未执行。 区别: 函数节流不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数,而函数防抖只是在最后一次事件后触发一次函数。...比如在页面的无限加载场景下,我们需要用户在滚动页面,每隔一段时间发一次 Ajax 请求,而不是在用户停下滚动页面操作去请求数据。这样的场景,就适合用节流技术来实现。

1.2K20

在 Chrome DevTools 中调试 JavaScript

二、熟悉一下 Sources 面板 DevTools 可为更改 CSS、分析页面加载性能和监控网络请求等不同的任务提供许多不同的工具。 我们就在 Sources 面板中调试 JavaScript。...与 console.log() 方法相比,断点具有一些优势: 使用 console.log(),需要手动打开源代码,查找相关代码,插入 console.log() 语句,然后重新加载页面,才能在控制台中看到这些消息...网址包含字符串模式 事件侦听器 在触发 click 等事件后运行的代码中 异常 在引发已捕获或未捕获异常的代码行中 函数 任何时候调用特定函数 1....您可以选择 click 等特定事件或所有鼠标事件等事件类别。 我们一开始使用的例子就是事件侦听器断点,这里就不演示了。 6....函数断点 如果想要在调用特定函数暂停,可以调用 debug(functionName),其中 functionName 是要调试的函数。

4.8K20

响应式设计

首先,它告诉浏览器当解析 CSS 将设备的宽度作为假定宽度,而不是一个全屏的桌面浏览器的宽度。其次当页面加载,它使用 initial-scale 将缩放比设置为 100%。...当链接太小不好点击,或者用户想要把某个图片看得更清楚,这个设置会阻止他们缩放页面。 # 媒体查询 媒体查询(media queries)允许某些样式只在页面满足特定条件生效。...在各大主流浏览器中,当用户缩放页面或者改变默认的字号,只有 em 单位表现一致。以 px 或者 rem 单位为断点在 Safari 浏览器里不太可靠。...# 媒体查询的类型 可以进一步将两个条件用 and 关键字联合起来组成一个媒体查询。这种联合媒体查询只在设备同时满足这两个条件生效。...它可以为一个 标签指定不同的图片URL,并指定相应的分辨率。浏览器会根据自身需要决定加载哪一个图片。

2K10

Hybrid App 应用开发中 9 个必备知识点复习

web 内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作。...在 WKWebView 白屏的时候,另一种现象是 webView.titile 会被置空, 因此,可以在 viewWillAppear的时候检测 webView.title 是否为空来 reload 页面...问题分析 首先需要了解,对于一个普通用户来讲,打开一个 WebView 通常会经历哪几个阶段,一般有这些: 交互无反馈; 到达新的页面页面白屏; 页面基本框架出现,但是没有数据;页面处于loading...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...而在客户端中,客户端需要先花费时间初始化 WebView 完成后,开始加载。 而这段时间,由于WebView还不存在,所有后续的过程是完全阻塞的。

2.3K30

Hybrid App 应用开发中 9 个必备知识点复习

web 内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作。...在 WKWebView 白屏的时候,另一种现象是 webView.titile 会被置空, 因此,可以在 viewWillAppear的时候检测 webView.title 是否为空来 reload 页面...问题分析 首先需要了解,对于一个普通用户来讲,打开一个 WebView 通常会经历哪几个阶段,一般有这些: 交互无反馈; 到达新的页面页面白屏; 页面基本框架出现,但是没有数据;页面处于loading...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...而在客户端中,客户端需要先花费时间初始化 WebView 完成后,开始加载。 而这段时间,由于WebView还不存在,所有后续的过程是完全阻塞的。

2.6K20

【Hybrid】288- Hybrid App 应用开发中 9 个必备知识点复习

web 内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作。...在 WKWebView 白屏的时候,另一种现象是 webView.titile 会被置空, 因此,可以在 viewWillAppear的时候检测 webView.title 是否为空来 reload 页面...问题分析 首先需要了解,对于一个普通用户来讲,打开一个 WebView 通常会经历哪几个阶段,一般有这些: 交互无反馈; 到达新的页面页面白屏; 页面基本框架出现,但是没有数据;页面处于loading...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...而在客户端中,客户端需要先花费时间初始化 WebView 完成后,开始加载。 而这段时间,由于WebView还不存在,所有后续的过程是完全阻塞的。

2.3K20

Hybrid App 应用 开发中 9 个必备知识点复习(WebView 调试 等)

参考文章:《UIWebView与WKWebView》 UIWebView 是苹果继承于 UIView 封装的一个加载 web 内容的类,它可以加载任何远端的web数据展示在你的页面上,你可以像浏览器一样前进后退刷新等操作...问题分析 首先需要了解,对于一个普通用户来讲,打开一个 WebView 通常会经历哪几个阶段,一般有这些: 交互无反馈; 到达新的页面页面白屏; 页面基本框架出现,但是没有数据;页面处于loading...于是我们找到了“为什么WebView总是很慢”的原因之一: 在浏览器中,我们输入地址(甚至在之前),浏览器就可以开始加载页面。...而在客户端中,客户端需要先花费时间初始化 WebView 完成后,开始加载。 而这段时间,由于WebView还不存在,所有后续的过程是完全阻塞的。...Inspector ,可以用来进行断点调试。

3.1K00
领券