为什么负载功能不起作用?

时间:2016-10-25 16:38:11

标签: javascript jquery

加载功能应该在网页上加载提到的网址但不支持。 HTML:

<div id="id"></div>

JS:

$('#id').load("http://google.com");

Fiddle

修改

This question试图解释为什么加载函数不起作用。

4 个答案:

答案 0 :(得分:0)

From the docs:

  

附加说明:

     

由于浏览器安全限制,大多数“Ajax”请求都遵循相同的原始策略;请求无法从其他域,子域,端口或协议中成功检索数据。

您正在发送加载请求的页面可能无权访问Google域。

一旦您选择了有权访问的网址,请确保$('#id')通过在之后执行脚本来实际选择DOM节点节点已添加到DOM中。

答案 1 :(得分:-1)

  1. load()发出ajax请求。
  2. 由同源策略绑定到同一源,因此端口,协议和域必须与父页面匹配。
  3.   

    所以你无法加载谷歌

    您可以这样打电话:

    window.location.href = "http://www.google.com"; 
    

答案 2 :(得分:-1)

Google不允许在自己的域名标题之外打开网页。此外,您尝试加载Google内容的域名不是安全的http协议。 最后,未经他们的同意加载其他人的网站是非法的

  

jquery-3.1.1.min.js:4混合内容:页面位于   https://jsfiddle/bm3nnndu/1/是通过HTTPS加载的,但是   请求不安全的XMLHttpRequest端点“http://google.com/”。   此请求已被阻止;内容必须通过HTTPS提供。

答案 3 :(得分:-1)

load()用于从远程加载数据并且不能用于其他域(除非在外部服务器上配置CORS)

如果要加载实际页面,可以在处理程序中使用类似的内容:

window.location.href = "http://www.google.com"; 

如果您只想将整个页面拉到视图中,请使用iFrame。

<iframe src="http://www.google.com"></iframe>

如果您尝试使用Google搜索功能,请使用该API。 https://developers.google.com/custom-search/json-api/v1/overview