在现有iframe或运行代码中打开链接,具体取决于iframe是否存在 我是绿色到JavaScript,但我的背景中有一些C++,所以我理解编码的原理,只是不要做太多的网页。 我有一个电子邮件链接,根据iframe是否存在,它需要执行以下两项操作之一。这段代码存在于父页面index.html中,因此我认为iframe应该是一个子页面。 如果还没有iframe,我需要这个代码gb\u page\u fs[]调用一些代码来创建iframe <a href="contact.html" rel="gb_page_fs[]">e-mail</a>

在现有iframe或运行代码中打开链接,具体取决于iframe是否存在 我是绿色到JavaScript,但我的背景中有一些C++,所以我理解编码的原理,只是不要做太多的网页。 我有一个电子邮件链接,根据iframe是否存在,它需要执行以下两项操作之一。这段代码存在于父页面index.html中,因此我认为iframe应该是一个子页面。 如果还没有iframe,我需要这个代码gb\u page\u fs[]调用一些代码来创建iframe <a href="contact.html" rel="gb_page_fs[]">e-mail</a>,javascript,iframe,Javascript,Iframe,如果iframe存在,它将被命名为GB_frame,这是我需要的链接代码: <a href="contact.html" target="GB_frame">e-mail</a> 我有两个问题:试图识别帧是否存在以及执行第二个案例代码。我见过很多识别父iFrame名称的代码,但没有识别子iFrame名称。最接近的是document.getElementByIdframename.name,但我无法读取null的属性“name”。至于后者,我想有一个简单的解决方案,但我不

如果iframe存在,它将被命名为GB_frame,这是我需要的链接代码:

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

我有两个问题:试图识别帧是否存在以及执行第二个案例代码。我见过很多识别父iFrame名称的代码,但没有识别子iFrame名称。最接近的是document.getElementByIdframename.name,但我无法读取null的属性“name”。至于后者,我想有一个简单的解决方案,但我不知道从哪里开始寻找。

您正在进行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';

杰夫,谢谢!这让我更进一步。然而,无论框架是否打开,我都会得到相同的结果。动态创建和加载iframe是否重要?我暂时将其作为一个函数运行,该函数通过一个表单按钮调用,并带有一个警报输出,以显示它是否遵循if逻辑或else逻辑。函数checkframe{var x=document.getElementById'GB_frame';如果x{alertx.value+if;}else{alertelse;}}@thirdstring否,添加iframe的时间无关紧要,只要它在查找之前就在那里。我注意到你的警报中有x.value。值不是iframe的有效属性,因此将获得未定义的值。请查看此链接:。这是一个动态添加iframe并验证其存在的工作示例。如果你有更多问题,请告诉我。