网址不能在iframe中打开,显示“拒绝我们的联接请求”, 这是跨域问题吗,有解决的办法吗?

网址不能在iframe中打开,显示“拒绝我们的联接请求”,
地址为:https://webcat.hkpl.gov.hk/search/query?theme=WEB
这个地址在浏览中是可以打开的,我尝试在我的html中的iframe元素中
去加载它,显示如下的效果:

img

恳请各位赐教,这个问题还能有解决方案吗?我们是没有办法去改网址服务器上的设置了,能否
在我们的客户端做些设置呢?

原因是对方设置了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