這通常是我如何管理漸進式增強,同時保持體驗清潔,但它有多安全?是否有潛在的競爭條件,這不工作?在就緒狀態之前操作dom可以嗎?
想象的簡單抽象的場景,你想,如果你有JavaScript的支持,以顯示不同的東西..這通常是我最終會做:
<div id="test">original</div>
<script type="text/javascript">
var t = document.getElementById('test');
t.innerHTML = 'changed';
</script>
很多人可能要求你應該使用一個框架,並等待對於一個準備好的事件,並在那裏做改變..但是,有一個顯着的延遲,其中'test'元素已經在文檔結束之前被呈現,並且css準備好並且domready觸發。因此導致一個明顯的閃爍'原創'。
此代碼是否容易出現競態失敗?或者我能否保證一個元素在腳本之前存在時是可發現和可修改的?
在此先感謝。
嗨Raegx,是的,我可以完全理解操作失敗的問題,改變未關閉的元素..在snappiness方面,這些頁面很輕,實際頁面是15kb ..但是,我改變了元素可能正好在開頭的body標籤下,並且它會在domready着火之前呈現,無論我的頁面有多淺。我試圖避免一個sl experience的體驗這是總是經驗豐富與準備和做這些事情。 – meandmycode 2009-08-03 15:29:49