Jquery onclick链接加载网址

时间:2015-01-03 11:54:40

标签: jquery jquery-ui

我无法通过jquery获得这项工作:

<a href="#" onclick='jQuery('#load_url').show(1000).load('http://google.es');'>Google</a>

当我点击此链接时,我需要加载名为#load_url

的div中的url

所有时间发生相同的事情,没有负载永远不会url如果我用一个功能测试这个工作,但我需要在链接内工作,此刻我尝试各种事情,永远不会得到正常工作

3 个答案:

答案 0 :(得分:0)

是的,问题在于跨域政策。我创建了一个fiddle,它将错误记录到浏览器控制台:Cross-Origin request blocked。任何你都无法使用iframe来解决此问题,因为Google阻止了外部框架请求:

Load denied by X-Frame-Options: 
https://www.google.es/?gws_rd=ssl does not permit cross-origin framing.

答案 1 :(得分:0)

如果这仅用于测试目的,您可以使用:

function myFunc() {
    
    $.getJSON('http://anyorigin.com/dev/get?url=google.es&callback=?', function(data){
	$('#load_url').show(1000).html(data.contents);
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='load_url'></div>

<a href="#" onclick="myFunc()">Google</a>

这使用http://anyorigin.com/绕过同源策略限制。

因此,为了使用它几次,这可行,但正如它在网站上所说的那样,过多的使用会导致你被禁止。

有关绕过政策的方法,请参阅here

如果在真实的应用程序中,您链接到您网站上的页面,您可以简单地使用之前使用的内容:

<a href="#" onclick="jQuery('#load_url').show(1000).load('localpage.html');">local page</a>

答案 2 :(得分:0)

语法上你的标签不正确,你打破主字符串;用双引号替换外部引号,并使用本地页面(例如,在同一目录中创建一个test.html页面,并尝试加载此页面而不是外部网站):

<a href="#" onclick="jQuery('#load_url').show(1000).load('test.html');">Google</a>