2013-02-27 92 views
0

我有一个aspx页面,其中包含一个iframe控件,该主机跨域网站。我将提供一个简单的工具,允许用户在asp.net文本框中快速“复制过去”框架网址。 显然,由于我的IFrame指向了外部站点,出于安全原因,此类操作被拒绝。从iframe或任何其他控件获取网址

有什么方法可以在跨域方案中获取当前帧的url?

我可以使用iframe中不同的解决方案,它对我来说确实不重要。

+0

Some co德会很好。一般来说,您可以将iframe的url设置为任何您想要的 - 这不属于相同的原始策略。你不能做的是你无法访问iframe的内容 – Ramunas 2013-02-27 21:54:30

+0

我不想设置iframe的url。我想在用户导航后获取当前ifram的url,当用户点击我的父页面按钮时,但像document.getElementById('iframeID')。contentWindow.location.href由于跨域URL引发安全异常。 – bit 2013-02-28 06:36:04

回答

-1

如果您正在寻找JavaScript的解决方案那么这可能是它: HTML:

<input type="text" id="url" /> 
<button id="go">Go</button> 
<br /> 
<iframe id="browser" width="300px" height="300px"></iframe> 

的Javascript:

$(document).ready(function(){ 
    $("#go").on("click", function(){ 
     var url = $("#url").val(); 
     $("#browser").attr("src", url); 
    }); 
}); 

http://jsfiddle.net/bBhc4/

“深入考察” 到iframe元素会导致相同的来源保单限制

+0

不,这不好。我的情况是不同的。最终用户可以浏览包含在网页中的iframe,并且我的按钮点击应该显示当前网址。由于框架网址是跨域,我实现了一个安全异常。 – bit 2013-02-28 08:34:31

+0

我可能是错的,但我认为你运气不好 – Ramunas 2013-02-28 10:24:42