这通常是我在保持体验干净的同时管理渐进增强的方式,但它有多安全?是否有可能出现竞争条件而这不起作用?
想象一下简单的抽象场景,如果你有 javascript 支持,你想显示不同的东西。这通常是我最终会做的事情:
<div id="test">original</div>
<script type="text/javascript">
var t = document.getElementById('test');
t.innerHTML = 'changed';
</script>
许多人可能会声称您应该使用框架并等待 domready 事件,并在那里进行更改。但是在文档结束之前已经呈现“测试”元素并且 css 已准备好并且domready 触发.. 从而导致“原始”的明显闪烁。
此代码是否容易出现竞争条件失败?或者我可以保证一个元素在脚本之前存在的话是可发现和可修改的?
提前致谢。