Hua*_*sai 17 javascript browser debugging google-chrome google-chrome-devtools
我正在调试仅在生产中发生的前端问题。我想知道是否有任何方法可以模拟请求的响应或模拟某些静态文件。
例如,
当我调用 xxx.com 时,它加载index.html
并index.html
加载a.js
. 由于chrome缓存了js,我们是否可以模拟,a.js
以便index.html
加载模拟的a.js
?
从 Chrome 117 开始,您可以在本地模拟 Web 内容。
要覆盖 Web 内容,请打开网络面板,右键单击请求,然后选择覆盖内容。
DevTools 目前支持以下请求类型的内容覆盖:图像(例如 avif、png)、字体、fetch 和 XHR、脚本(css 和 js)以及文档 (html)。DevTools 现在将不支持的类型的“覆盖内容”选项灰显。
您可以使用+尝试puppeteer。像这样的东西:page.setRequestInterception()
request.respond()
const puppeteer = require('puppeteer');
(async function main() {
try {
const browser = await puppeteer.launch({ headless: false });
const [page] = await browser.pages();
await page.setRequestInterception(true);
page.on('request', (interceptedRequest) => {
if (interceptedRequest.url() === 'https://sb.scorecardresearch.com/beacon.js') {
interceptedRequest.respond({
body: 'document.title = "42";',
});
} else {
interceptedRequest.continue();
}
});
await page.goto('https://stackoverflow.com/help');
// await browser.close();
} catch (err) {
console.error(err);
}
})();
Run Code Online (Sandbox Code Playgroud)