次のように、ある種の広告ローテータを作成しようとしています。
<html>
<head>
<title></title>
<style>
body {
margin:0;
padding:0;
}
</style>
<script>
function fillBoard() {
s = document.getElementsByClassName('slots');
board = document.getElementById('board');
board.innerHTML = s[0].innerHTML
alert(board.innerHTML);
}
</script>
</head>
<body>
<div id="board" style="width:160px; text-align: center; margin:0">
</div>
<div class="slots" style="display:none">
<!-- THE PROBLEM IS HERE -->
<!-- Begin Hsoub Ads Ad Place code -->
<script type="text/javascript">
<!--
hsoub_adplace = 1310003403401506;
hsoub_adplace_size = '125x125';
//-->
</script>
<script src="http://ads2.hsoub.com/show.js" type="text/javascript"></script>
<!-- End Hsoub Ads Ad Place code -->
</div>
<div class="slots" style="display:none">
<img src="http://lorempixel.com/160/90/sports/1/" />
</div>
<div class="slots" style="display:none">
<img src="http://lorempixel.com/160/90/sports/2/" />
</div>
<div class="slots" style="display:none">
<img src="http://lorempixel.com/160/90/sports/3/" />
</div>
<script>
fillBoard();
</script>
</body>
</html>
上記のコードでは:
- コンテンツを表示するボードとして機能する
div
ID を持つがあります。board
- ボードには、プロパティを使用
divs
して、クラス名を使用して他の非表示から提供されたデータを入力する必要があります。slots
innerHTML
- 上記を行うには、名前付きの関数をページの head セクションで定義し、最後にタグ
fillBoard()
を閉じる直前に呼び出します。</body>
何が起こっている?
非表示の divslots
は、画像を含む div で正常に機能します。ただし、最初の div には、機能しない広告ネットワークから広告を生成する JavaScript コードがあります。
広告ネットワークの JavaScript コードがその div をデータで埋める必要があることを期待していfillBoard()
ますboard
。しかし、これは起こりません!
この問題をどのように克服できるかを知る必要がありますか?
実際の例はここにあります