0

私は JavaScript に慣れていませんが、バックグラウンドで C++ を使用しているので、コーディングの原則は理解していますが、Web のことはあまりしません。iframe が存在するかどうかに応じて、次の 2 つのいずれかを実行する必要がある電子メール リンクがあります。このコードは親ページ (index.html) に存在するため、iframe は子になります (私は推測します)。iframe がまだない場合は、このコードが必要です (gb_page_fs[] は iframe を作成するコードを呼び出します)。

<a href="contact.html" rel="gb_page_fs[]">e-mail</a>

iframe が存在する場合、「GB_frame」という名前が付けられ、これがリンクに必要なコードです。

<a href="contact.html" target="GB_frame">e-mail</a>

私には 2 つの問題があります。フレームが存在するかどうかを識別しようとすることと、2 番目のケース コードを実行することです。親の iFrame 名を識別するコードはたくさんありますが、子は識別できません。最も近いのは document.getElementById("framename").name ですが、「null のプロパティ 'name' を読み取れません」というメッセージが表示されます。後者については、簡単な解決策があると思いますが、どこから調べればよいかわかりません。

4

1 に答える 1

0

iframe のテストは正しい方向に進んでいます。あなたはこのようなことをしたい:

var x = document.getElementById('framename');
// if the iframe doesn't exist x will be null and the if statement evaluates to false
if(x) 
{
  doSomething();
}

iframe のソースを設定するには:

    document.getElementById('framename').src = 'url to page';
于 2012-04-04T15:32:20.287 に答える