对于一个研究项目,我正在编写一个 chrome 扩展,当我转到某个 url 时,它应该引入 2 秒的加载延迟。所以基本上我想要用户输入“example.com”的效果,他们必须在页面开始加载之前额外等待 2 秒。有没有办法用 chrome 扩展来做到这一点?我已经搜索了文档,但似乎找不到这样的东西。
最佳答案
Chris 的解决方案可行,但它会锁定 UI。您也可以试试这个简单的内容脚本:
content_script.js:
document.documentElement.style.display = 'none';
setTimeout(function() {document.documentElement.style.display = '';}, 1000);
list .json:
{
"name": "Delay webpage displays",
"version": "1.0",
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["content_script.js"],
"run_at": "document_start"
}
]
}
但我必须说这很烦人。此外,精明的用户会知道发生了什么事,因为即使没有“正在等待 www.example.com...”状态行,它也会显示空白页面。
如果你想完美地模拟慢速网络,我认为最好的方法是创建一个引入延迟的 HTTP/HTTPS(或者可能是 SOCKS5)代理。您可以通过创建 proxy.pac 使浏览器仅在某些 URL 上使用代理。文件或使用 Chrome experimental proxy API .
那你要模拟什么?如果你想模拟高 CPU 的 JS 或渲染,那么使用 Chris 的解决方案。如果要模拟慢速网络,请使用代理。我的解决方案有点模拟慢速网络,但它并不是完美的伪装。
关于google-chrome - 在 chrome 扩展中引入加载时间延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5797522/