iframe 嵌入页面

<iframe>是框架的一种形式,也比较常用到。

例子1。

<iframe width=420 height=330 frameborder=0 scrolling=auto src=URL></iframe>

不用多说了。

width插入页的宽;height插入页的高;scrolling 是否显示页面滚动条(可选的参数为 auto、yes、no,如果省略这个参数,则默认为auto);frameborder  边框大小;

注意:URL建议用绝对路径

传说中百DU用:<iframe width=0 height=0 frameborder=0 scrolling=auto src=WWW .webjx.com></iframe>

黑了88*8。。。

例子2。

如果一个页面里面有框架。。随便点页面里的连接,要求在这个<iframe> 里打开。在iframe 中加入name=** (**自己设定)

<iframe name=**  ></iframe>

然后在修改默认打开模式,:网页HEAD中加上<a href=URL target=**>或部分连接的目标框架设为(**)

例子3。

要插入一个页面。要求只拿中间一部分。其他的都不要。,。。

代码:

<iframe name=123  align=middle marginwidth=0 marginheight=0 vspace=-170 hspace=0 src="http://www.webjx.com/"  frameborder=no scrolling=no  width=776  height=2500></iframe>

控制插入页被框架覆盖的深度 marginwidth=0 marginheight=0;控制框架覆盖上部分的深度 vspace=-170 

scrolling滚动条要否(auto、yes、no)   frameborder框架的边框大小,width=776  height=2500此框架的大小。

一、页面内加入iframe

<iframe width=420 height=330 frameborder=0 scrolling=auto src=URL></iframe>,

scrolling表示是否显示页面滚动条,可选的参数为auto、yes、no,如果省略这个参数,则默认为auto。

二、超链接指向这个嵌入的网页,只要给这个iframe命名就可以了。方法是<iframe name=**>,例如我命名为aa,写入这句HTML语言<iframe width=420 height=330 name=aa frameborder=0 src=http://www.cctv.com></iframe>,然后,网页上的超链接语句应该写为:<a  href=URL target=aa>

三、如果把frameborder设为1,效果就像文本框一样

透明的IFRAME的用法

必需IE5.5以上版本才支持

在transparentBody.htm文件的<body>标签中,我已经加入了style="background-color=transparent" 通过以下四种IFRAME的写法我想大概你对iframe背景透明效果的实现方法应该会有个清晰的了解:

<IFRAME ID="Frame1" SRC="transparentBody.htm" allowTransparency="true"></IFRAME> 

<IFRAME ID="Frame2" SRC="transparentBody.htm" allowTransparency="true" STYLE="background-color: green"> </IFRAME>

<IFRAME ID="Frame3" SRC="transparentBody.htm"></IFRAME>

<IFRAME ID="Frame4" SRC="transparentBody.htm" STYLE="background-color: green"> </IFRAME>

### 如果解决iframe嵌入页面时遇到的跨域问题 当使用iframe嵌入其他域名下的资源时,可能会遭遇跨域限制。这主要是由于现代浏览器的安全策略所引起的,特别是对于第三方Cookie的支持逐渐减少。针对这一情况,存在多种解决方案。 #### 方案一:统一主域名 官方推荐的方法是采用统一主域名的方式[^1]。这意味着所有的子系统都部署在同一顶级域名下,比如`example.com`及其子域名如`sub.example.com`。这样做能够有效规避大多数由跨域引发的问题,因为同源政策允许这些站点之间共享数据而无需额外配置。 #### 方案二:调整服务器响应头设置 另一种常见做法是在服务端修改HTTP头部信息来支持CORS(Cross-Origin Resource Sharing),即跨源资源共享协议。具体来说,在返回HTML文档的同时附加上如下所示的相关字段: ```http Access-Control-Allow-Origin: * // 或者指定特定来源 Access-Control-Allow-Origin: https://yourdomain.com ``` 此外还可以加入更多控制选项以增强安全性并满足实际需求: ```http Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Max-Age: 86400 ``` 以上措施有助于确保客户端可以从不同的源安全地访问API接口或静态文件等内容[^2]。 #### 方案三:借助代理中间件 如果无法更改目标网站的服务端配置,则可考虑建立自己的反向代理服务器作为中介层。该代理位于同一原点内,并负责转发请求至远程地址;与此同时它也会处理好必要的身份验证流程以及Cookies管理等问题。这种方式特别适用于那些对外部系统的依赖程度较高的应用场景中[^4]。 #### 实现示例 - 使用Vue.js框架中的动态创建Proxy Iframe技术 这里给出一段基于Vue3项目的简单代码片段用于展示如何实现上述提到的技术之一——通过在子窗口(child)内部构建指向本地路径(proxy)的新IFRAME实例来进行间接通信的过程: ```javascript import { ref, onMounted } from 'vue'; export default { setup() { const frameSrc = ref(''); // 假设这是来自路由元数据里的URL字符串 let currentRouteMetaFrameSrc = '/path/to/proxy.html'; onMounted(() => { setTimeout(function () { var proxyIfr = document.createElement('iframe'); proxyIfr.src = `${location.origin}${currentRouteMetaFrameSrc}?data=encodedMessage`; proxyIfr.style.display = "none"; document.body.appendChild(proxyIfr); window.addEventListener('message', receiveMessage); function receiveMessage(event){ console.log(`Received message: ${event.data}`); // 处理接收到的消息... // 移除监听器防止内存泄漏 window.removeEventListener('message', receiveMessage); } }, 500); }); return { frameSrc, }; }, }; ``` 此段脚本会在组件挂载完成后等待半秒钟再执行后续逻辑,从而保证DOM结构已完全渲染完毕。之后会临时插入一个隐藏式的IFRAME标签到当前网页体内并通过查询参数携带所需传输的数据给定好的处理器页面(proxy.html)。最后注册了一个全局事件监听函数用来接收从那个新打开的小窗传回来的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值