myjs.js
インクルードをページの下部</body>
(終了タグの直前または直後)に移動するのが理想的です。それはただです:
document.getElementById("abc").innerText = /* ...the text */;
実例| ソース
何らかの理由でインクルードを移動できない場合は、上記のコードを関数に入れることができます。
function updateTheLabel() {
document.getElementById("abc").innerText = /* ...the text */;
}
...そして、このスクリプトをラベルの直後に置きます:
<label id="abc"></label>
<script>
updateTheLabel();
</script>
実例| ソース
それをしたくない場合 (そして、そのようにスクリプト タグをマークアップに混在させるのは少し見苦しいです)、ページの準備ができたときに発生する何らかのイベントを待つことができます。「javascript dom ready event」を検索すると、これに関する多くの議論と多くの解決策が表示されます。ライブラリjQuery、Prototype、またはその他のいずれかを使用している場合、ライブラリに何かがある可能性は高くなります (100% ではありません)。window
load
このイベントは、ページの読み込みプロセスの非常に遅い段階 (すべての外部リソース (画像など) が読み込まれた後) に発生するため、おそらく待機したくないでしょう。
(使用しているライブラリがあれば、それを知らずに上記のライブの例を実行することはできません。ただし、ここでも、多数の「DOM 対応」ソリューションが存在します。)
または、最悪の場合、これを次のように使用してポーリングすることもできますmyjs.js
。
function updateTheLabel() {
var elm = document.getElementById("abc");
if (elm) {
elm.innerText = /* ...the text */;
}
else {
setTimeout(updateTheLabel, 50);
}
}
setTimeout(updateTheLabel, 0);
実例| ソース