开发者问题收集

Chrome 扩展程序无限 while 循环

2018-01-28
1344

我正在制作一个 chrome 扩展程序,我需要在其中创建一个无限 while 循环,但每当 while 循环开始时,浏览器选项卡就会崩溃。有什么解决方案或其他方法可以使用吗?

1个回答

为什么需要无限循环?您想要实现什么?

还有其他选项,例如 window.requestAnimationFrame() setInterval setTimeout ,您可以在页面内部使用这些选项来连续执行某些操作而不会阻塞它。例如:

const counterElement = document.getElementById('counter');

let counterValue = 0;

setInterval(() => {
  counterElement.innerText = (++counterValue / 100).toFixed(2); 
}, 10);
body {
  margin: 48px 8px 8px;
  font-family: monospace;
}

#counter {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  line-height: 32px;
  padding: 0 8px;
  background: black;
  color: white;
}

hr {
  border: none;
  border-top: 2px solid black;
  margin: 32px 0;
}

button {
  border: 2px solid black;
  background: transparent;
  padding: 8px 12px;
  font-family: monospace;
  cursor: pointer;
  outline: none;
}

button:hover {
  background: yellow;
}

button:active {
  background: black;
  color: white;
}

button:focus {
  border: 3px solid black;
  padding: 7px 11px;
}
<div id="counter">0</div>

Click around the page. See how everything still works?

<hr />

<button>BUTTON</button>
<button>BUTTON</button>

您还可以根据需要考虑使用 Web Worker

Danziger
2018-01-28