来自IFrame Javascript的链接的URL

来自IFrame Javascript的链接的URL,javascript,html,iframe,Javascript,Html,Iframe,这个问题以前可能见过。但在我的场景中,我没有成功。 我在Iframe中加载了本地HTML文件,并带有示例外部链接 <a href="http://www.boutell.com/">sample.com</a> 代码: <iframe id="iframe_Id" src="sample.html" style="background-color:white; height:100%; width:100%;" onload="Loa

这个问题以前可能见过。但在我的场景中,我没有成功。 我在Iframe中加载了本地HTML文件,并带有示例外部链接

        <a href="http://www.boutell.com/">sample.com</a>

代码:

    <iframe id="iframe_Id" src="sample.html" 
style="background-color:white; height:100%; width:100%;" onload="Load()"; ></iframe>

    function Load() {
alert("loaded");
    var linkchange = document.getElementById("iframe_Id").contentWindow.location;
alert(linkchange);
}

函数加载(){
警报(“已加载”);
var linkchange=document.getElementById(“iframe_Id”).contentWindow.location;
警报(链接更改);
}
在单击外部链接时,我需要特定锚标记的url值

编辑:我知道,由于安全策略,我们无法获取不同域的URL。 但是我需要本地HTML页面的值(我单击的链接URL)。 我没有试过这个案子

需要对此提供任何帮助。

请查看以下内容:

var a = document.frames['iframe_Id'].document.getElementsByTagName('a');

for(i=0; i<a.length; i++) { 
  a[i].onclick = function() { 
    document.getElementById("iframe_Id").src = this.href;
    // and so on whatever you want to do
  }
}
var a=document.frames['iframe_Id'].document.getElementsByTagName('a');
对于(i=0;i请看以下内容:

var a = document.frames['iframe_Id'].document.getElementsByTagName('a');

for(i=0; i<a.length; i++) { 
  a[i].onclick = function() { 
    document.getElementById("iframe_Id").src = this.href;
    // and so on whatever you want to do
  }
}
var a=document.frames['iframe_Id'].document.getElementsByTagName('a');
对于(i=0;i请看以下内容:

var a = document.frames['iframe_Id'].document.getElementsByTagName('a');

for(i=0; i<a.length; i++) { 
  a[i].onclick = function() { 
    document.getElementById("iframe_Id").src = this.href;
    // and so on whatever you want to do
  }
}
var a=document.frames['iframe_Id'].document.getElementsByTagName('a');
对于(i=0;i请看以下内容:

var a = document.frames['iframe_Id'].document.getElementsByTagName('a');

for(i=0; i<a.length; i++) { 
  a[i].onclick = function() { 
    document.getElementById("iframe_Id").src = this.href;
    // and so on whatever you want to do
  }
}
var a=document.frames['iframe_Id'].document.getElementsByTagName('a');

对于(i=0;i,单击框架中的链接时,可以在父窗口中调用函数

在父html中,您需要添加一个函数来处理调用

function iframeLinkClicked(url) {
     //do stuff
}
然后在子窗口中添加一个函数来处理超链接的单击事件

function linkClicked(hyperLink) {
    parent.iframeLinkClicked(hyperLink.href);
}
您需要将其添加到所有超链接中

<a href="http://www.google.com" onclick="linkClicked(this);">google</a>

单击框架中的链接时,可以在父窗口中调用函数

在父html中,您需要添加一个函数来处理调用

function iframeLinkClicked(url) {
     //do stuff
}
然后在子窗口中添加一个函数来处理超链接的单击事件

function linkClicked(hyperLink) {
    parent.iframeLinkClicked(hyperLink.href);
}
您需要将其添加到所有超链接中

<a href="http://www.google.com" onclick="linkClicked(this);">google</a>

单击框架中的链接时,可以在父窗口中调用函数

在父html中,您需要添加一个函数来处理调用

function iframeLinkClicked(url) {
     //do stuff
}
然后在子窗口中添加一个函数来处理超链接的单击事件

function linkClicked(hyperLink) {
    parent.iframeLinkClicked(hyperLink.href);
}
您需要将其添加到所有超链接中

<a href="http://www.google.com" onclick="linkClicked(this);">google</a>

单击框架中的链接时,可以在父窗口中调用函数

在父html中,您需要添加一个函数来处理调用

function iframeLinkClicked(url) {
     //do stuff
}
然后在子窗口中添加一个函数来处理超链接的单击事件

function linkClicked(hyperLink) {
    parent.iframeLinkClicked(hyperLink.href);
}
您需要将其添加到所有超链接中

<a href="http://www.google.com" onclick="linkClicked(this);">google</a>

很好,但是我在中间打了一下。Bcz我会一个接一个地将许多HTML文件加载到IFrame中。我必须在加载到IFrame的HTML页面时向每个锚标记添加onclick&以及head标记中的函数。在我的情况下,它看起来很重。如果可能,你能给我任何其他建议吗。谢谢我更新了我的答案,所以你不必做任何更改更改到子页面。只需将脚本添加到父页面,它就会在那里设置所有事件。它可以工作。现在我知道了href值。最后一个问题是我不想在Iframe中加载该外部链接。我想在单击链接时禁用onLoad事件。您可以在load函数中将onLoad设置为null,这样它只调用
load()
一次。您必须将iframe作为参数传递到函数中。我更新了我的答案,以显示iframe标记和更新的函数。如果这个答案对您有帮助,请将其标记为答案,以便其他人可以找到它。谢谢。是的。当然,我学到了一些东西;但它仍然没有满足我的要求。在没有使用onload的情况下,链接URL将在IFrame中打开。在这里,我知道一件事,如果您将属性
target
设置为
blank
,它将在新窗口中打开。工作正常,但我在中间点击了。Bcz我将一个接一个地将许多HTML文件加载到IFrame中,在加载到IFrame的HTML页面时,我必须将onclick添加到每个锚定标记l作为head标签中的函数。在我的情况下,它看起来很重。如果可能,你能给我任何其他建议吗?谢谢我更新了我的答案,这样你就不必对子页面进行任何更改。只需将脚本添加到父页面,它就会在那里设置所有事件。它很有效。现在我知道href值。最后一个问题是我不想loa在我的Iframe中设置外部链接。我想在单击链接时禁用onLoad事件。您可以在load函数中将onLoad设置为null,以便它只调用
load()
一次。您必须将iframe作为参数传递到函数中。我更新了我的答案,以显示iframe标记和更新的函数。如果这个答案对您有帮助,请将其标记为答案,以便其他人可以找到它。谢谢。是的。当然,我学到了一些东西;但它仍然没有满足我的要求。在没有使用onload的情况下,链接URL将在IFrame中打开。在这里,我知道一件事,如果您将属性
target
设置为
blank
,它将在新窗口中打开。工作正常,但我在中间点击了。Bcz我将一个接一个地将许多HTML文件加载到IFrame中,在加载到IFrame的HTML页面时,我必须将onclick添加到每个锚定标记l作为head标签中的函数。在我的情况下,它看起来很重。如果可能,你能给我任何其他建议吗?谢谢我更新了我的答案,这样你就不必对子页面进行任何更改。只需将脚本添加到父页面,它就会在那里设置所有事件。它很有效。现在我知道href值。最后一个问题是我不想loa在我的Iframe中设置外部链接。我想在单击链接时禁用onLoad事件。您可以在load函数中将onLoad设置为null,以便它只调用
load()
一次。您必须将iframe作为参数传递到函数中。我更新了我的答案,以显示iframe标记和更新的函数。如果这个答案对您有帮助,请将其标记为答案,以便其他人可以找到它。谢谢。是的。当然,我学到了一些东西;但它仍然没有满足我的要求。如果不使用onload,则链接URL将在中打开