...
<head>
<script type="text/javascript" src="a.js"></script>
</head>
<body>
<button id="test">click me</button>
<script type="text/javascript">
show();
document.getElementById('test').onclick=function(){
show();
}
</script>
</body>
</html>
上記のコード:
をタグに入れましたa.js
。そこには作成者がい ます<head>
a.js
b.js
document.getElementsByTagName('head')[0].appendChild(document.createElement('script')); function show(){...}
b.js;
今、b.js で which を呼び出したいのですshow()
が、b.js がロードされていないため、エラーになります。
ページの読み込みをブロックするコードをいくつか追加したいと思います。
while(){}
?
実際、関数 show が呼び出されたときに b.js をロードする必要があることを学びました。
しかし、クリックイベントはどうですか? さらに、ページに show() を配置する必要があります。
ここで、head タグに別の js(base.js) を追加すると、上記のコードは次のようになります。
...
<head>
<script type="text/javascript" src="base.js"></script>
<script type="text/javascript" src="a.js"></script>
</head>
<body>
<button id="test"></button>
<script type="text/javascript">
//invoke button click event from base.js and b.js
</script>
</body>
...
たとえば、base.js と b.js にバインドされた 2 つのクリック イベント (a.js によって非同期に読み込まれる) があり、ユーザーがページのボタンをクリックすると、base.js にバインドされたイベントがすぐに呼び出されますが、その後です。 ..エラー...
body タグに呼び出し元を入れる必要があります。