iframe 跨越访问_【HTML】iframe跨域访问问题

概述

本地同一浏览器访问本地HTML文件和访问服务器端HTML文件,本地Iframe没有自适应高度,而服务器端的Ifrane自适应了高度。

1.问题重现:

Chrome 版本 41.0.2272.101 (64-bit)

OS:Win8.1

Chrome访问服务器端HTML文件呈现的结果

207ea3439feff4fb4cc17da3cb47fd1f.png

Chrome访问本地HTML文件呈现的结果

dc06364f25a5f7d995a73087322bb1b9.png

本地访问的HTML文件Iframe没有根据Iframe里面的页面类容自适应高度

2.Iframe自适应高度代码

在index.html文件中间中添加Iframe页面,页面加载时,加载src指定的文件路径

JS脚本自适应调整Iframe高度

functioniFrameHeight(id) {var ifm =document.getElementById(id);var subWeb = document.frames ?document.frames[id].document : ifm.contentDocument;if (ifm != null && subWeb != null) {

ifm.height

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 ASP.NET 中,可以使用代理页面来解决 iframe 访问问题。代理页面的作用是将客户端请求发送到目标网站,然后将目标网站的响应返回给客户端,从而实现访问。 以下是一个简单的代理页面示例: ```c# <%@ Page Language="C#" %> <%@ Import Namespace="System.Net" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { // 获取目标网站的 URL string targetUrl = Request.QueryString["url"]; // 创建 WebRequest 对象 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetUrl); // 发送请求并获取响应 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // 将响应内容输出到客户端 Response.Clear(); Response.ContentType = "text/html"; using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) { Response.Write(reader.ReadToEnd()); } Response.End(); } </script> ``` 在页面中,我们首先获取到客户端传递过来的目标网站 URL,然后创建一个 WebRequest 对象发送请求,获取响应内容,并将响应内容输出到客户端。 使用代理页面时,我们需要将 iframe 的 src 属性设置为代理页面的 URL,同时需要将目标网站的 URL 作为参数传递给代理页面。例如: ```html <iframe src="Proxy.aspx?url=http://www.example.com"></iframe> ``` 这样就可以实现访问了。需要注意的是,代理页面会将客户端的请求转发到目标网站,因此在使用代理页面时需要考虑安全问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值