現在、個人のポートフォリオに取り組んでいますが、答えが見つからない問題に遭遇しました。まず、私の Web ページはメイン フレーム ベースで動作します。つまり、ユーザーはページを変更するのではなく、iframe に表示されるページを変更することによってナビゲートします。次に、ユーザーは、iframe を変更する必要がある (どのギャラリーを表示するか) を選択する必要があります。私がやったことは、Webページがiframeにページをロードすると、whileループを実行して、値が変更されたかどうかを継続的にチェックすることです(この値は、選択されたギャラリーによって異なります)。ただし、Chrome コンソールで「Uncaught TypeError: 未定義のメソッド 'getElementById' を呼び出せません」というエラーが表示されます。エラーが発生しているメインフレームの JavaScript は次のとおりです (ちなみに、「set」は値を格納する要素です)。
function design()
{
document.getElementById('oth1').src = "frames/designs.htm";
var p = document.getElementsByName('oth1').document.getElementById('set')
while (p == "0")
{
if (p > "0")
{
document.getElementById('oth1').src = "frames/"+ p +".htm";
}
}
}
次に、iframe ドキュメントのコード全体を示します。
<!DOCTYPE HTML>
<html>
<head>
<title>
My Portfolio
</title>
<script>
function skipper()
{
document.getElementById('set').value = "1";
}
function blurb()
{
document.getElementById('set').value = "2";
}
</script>
<link rel="stylesheet" type="text/css" href="css/designs.css">
</head>
<body>
<table style="width:1243px;border:0;">
<tr>
<td colspan="2" class="push">
</td>
</tr>
<tr>
<td width="180px">
<p class="title"> Designs: </p>
</td>
<td>
</td>
</tr>
<tr>
<td id="set" value="0" colspan="5">
<hr>
</td>
</tr>
<tr>
<td style="width:213px">
</td>
<td style="width:213px">
<embed class="vid_quick" src="animations/skipperanimation.mov" width="213" height="160" autoplay="true" controller="false" loop="true" pluginspage="http://www.apple.com/quicktime/download/">
</embed>
</td>
<td style="width:213px">
<embed class="vid_quick" src="animations/blurbanimation.mov" width="213" height="160" autoplay="true" controller="false" loop="true" pluginspage="http://www.apple.com/quicktime/download/">
</embed>
</td>
<td style="width:213px">
</td>
<td style="width:213px">
</td>
</tr>
<tr>
<td>
</td>
<td>
<p class="text">
<p class="clickme" onclick="skipper()" id="skipper">Skipper</p>
</p>
</td>
<td>
<p class="text">
<p class="clickme" onclick="blurb()" id="blurb">Blurb</p>
</p>
</td>
</tr>
</table>
</body>
</html>
iframe を変更して適切なギャラリーを表示できるように、問題の解決を手伝っていただけませんか。
どうもありがとうございました!:)