与 OP 提出的问题不是 100% 相关,但我在一个移动应用程序中遇到了与Android WebView 类似的问题,该应用程序的本机代码我无法控制(但启用了 WebView 调试)。
document.reload()
并且所有其他类似的重新加载页面的方法都不适合我
- 我想把它放在
alert()
页面的最顶部,这在理论上是一个阻塞调用,但它也对我不起作用。
- 最后,我选择了一个阻塞的、同步的 XHR。
为了在页面加载时注入人为延迟,我在我控制下的端点添加了一个假调用,该调用在 15 秒后返回 200 OK。
把这个放在最上面<head>
<script>
try {
var request = new XMLHttpRequest();
request.open('GET', 'https://whatever/please-freeze', false); // false = sync XHR
request.send(null);
} catch (err){
debugger;
};
debugger;
</script>
例如,您可以创建自己的简单 http 服务器,其端点行为如下,但这有点矫枉过正。
无论出于何种原因,这些debugger
语句都没有触发 Chrome 中的断点,但是动态加载的代码(之前创建的)中手动定义的断点运行良好。
适用于 Windows (Fiddler) 用户的 hack
因为我在 Windows 上,所以我使用 Fiddler创建了一个有延迟的自动回复。
我还使用 Fiddler 来编辑原始页面请求的 HTML,以注入<script>
前面提到的内容。