网址不能在iframe中打开,显示“拒绝我们的联接请求”,
地址为:https://webcat.hkpl.gov.hk/search/query?theme=WEB
这个地址在浏览中是可以打开的,我尝试在我的html中的iframe元素中
去加载它,显示如下的效果:
恳请各位赐教,这个问题还能有解决方案吗?我们是没有办法去改网址服务器上的设置了,能否
在我们的客户端做些设置呢?
原因是对方设置了X-Frame-Option: 'SAMEORIGIN',这个不是前端能改的,需要服务端或者服务器配置,伪装成相同来源
https://developer.mozilla.org/zh-CN/docs/web/http/headers/x-frame-options
https://blog.csdn.net/luochuanrong/article/details/123083766
这边用过一个asp代理代码,就是用服务器来访问目标网页,再把取得网页发送到浏览器。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Response.Charset="utf-8"%>
<%
function getHTTPPage(url)
Set xh = CreateObject("Microsoft.XMLHTTP")
xh.Open "GET",url,0
xh.Send()
Set MyStream=CreateObject("Adodb.Stream")
MyStream.Type = 2
MyStream.Open
MyStream.WriteText xh.responseText
MyStream.Position = 0
getHTTPPage=MyStream.ReadText
MyStream.Close
end function
response.write(getHTTPPage("http://"))
%>
解决方法
1、你可以打开控制台,查看是否有跨域问题的报错,如果是的话,那么就是跨域问题,然后在针对这个解决
2、如果不是的话,在排查其他原因
另外,如果是跨域问题的话,
可以尝试用nginx反向代理的方法来解决,
前端请求api显示为你原先的url api,但通过反向代理实际访问的是这个网站的url
如有问题及时沟通
他使用的协议不同,应该就属于跨域了
应该是跨域问题,添加如下代码试试
<meta http-equiv="X-Frame-Options" content="ALLOW-FROM">
可参考链接https://developer.mozilla.org/zh-CN/docs/web/http/headers/x-frame-options