首页
学习
活动
专区
圈层
工具
发布

【JS应用】Iframe 解决跨域

1、基本原理 2、简单模拟 2、封装的函数 3、封装函数实战 解决场景 现在我们在 a.com 的域名下有一个页面 我们要请求 b.com 下的一个接口,很明显是会跨域的,无法直接请求 今天我们使用 iframe...,iframe 加载 b.com 下的辅助页面 B 2、辅助页面B 开始请求接口 b.com/xxx,请求成功,存放到 window.name 3、隐藏 iframe 由页面B 跳转到 a.com 下另一个辅助页...嵌入了 B,并且全局设置了一个函数 getData 这个函数的作用是,为了给 C页面调用,传入接口的数据的 window.getData=function(data){ 辅助页 B B 页面当然是用于请求接口了...并取其中的字段 parentFunc ,就可以知道函数名啦 优化 随着请求越来越多,生成的全局随机函数肯定会越来越多,并且是一次性的,不会再被使用,留着根本没用,还占用资源 所以我们最好手动清除他,所以你看到在设置全局函数时...,回调执行完之后就执行设置为 null window[funcName] = function (response) { 没错,封装的函数我们已经看完了,我们还是有必要来看下怎么使用的啊 封装函数的实践

20.3K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iframe内部DOM设置样式引发的思考

    于是又想到通过js来控制iframe内部DOM的样式。...iframe内部的DOM中body元素有个min-width:1200px的属性设置,导致我设置iframe的宽高时,iframe总会出现滚动条。而我的目的就是要消除滚动条。...除了设置iframe内部DOM的样式还有别的方法吗?是否可以通过iframe的属性设置来达到目的?于是将iframe标签的相关属性都看了一看,最终通过设置iframe的属性解决问题。...iframe src="http://xxxxxxxxx" width="375px" height="420px" scrolling="no" frameborder="0">iframe>...src被嵌套的页面的 URL 地址。 srcdoc该属性是一段HTML代码,这些代码会被渲染到 iframe 中。如果浏览器不支持 srcdoc 属性,则会渲染 src 属性表示的内容。

    2.8K20

    js判断iframe加载是否成功的方法

    今天木槿来探讨一下js判断iframe加载是否成功的方法,并且兼容多种浏览器。...由于经常需要动态添加iframe,然后再对添加的iframe进行相关操作,而往往iframe还没添加完呢,后边的代码就已经执行完了,所以有些你写的东西根本没有显示出来。...这时,我们就要考虑是否可以等iframe加载完后再执行后边的操作,当然,各种浏览器早就为我们考虑到啦,看下面:ie浏览器IE的每个elem节点都会拥有一个onreadystatechange事件,这个事件每次在...iframe.readyState == "loaded"){//代码能执行到这里说明已经载入成功完毕了//要清除掉事件iframe.detachEvent( "onreadystatechange",...状态会跳过 complete 所以我们loaded状态也要判断if (iframe.readyState === "complete" || iframe.readyState == "loaded")

    5.4K20

    加载第三方JS的各种姿势

    异步加载 异步加载JS的方法很多,最常见的就是动态创建一个script标签,然后设置其src和async属性,再插入到页面中。这里有个DEMO。...第三方JS文件一般是不同域名的且JS内容不可控,所以此方法就不适用了 iframe中加载JS – 将你的JS文件直接放到另一个页面的HTML中,然后将此页面URL地址作为iframe标签src属性。...iframe = document.createElement('iframe'); iframe.src = "javascript:false"; iframe.title = ""..._l();">'); doc.close(); })('test.js'); 上述代码分为两个部分: 创建了一个隐藏的iframe标签,设置其src值为JS代码,然后插入到主页面中 在iframe...虽然标准已经比较旧了,但是里面提到了通过设置变量inDapIF为true来通知第三方JS:你现在正运行在iframe中。

    6.9K10

    【前端编程】加载第三方JS的各种姿势

    异步加载 异步加载JS的方法很多,最常见的就是动态创建一个script标签,然后设置其src和async属性,再插入到页面中。这里有个DEMO。...第三方JS文件一般是不同域名的且JS内容不可控,所以此方法就不适用了 iframe中加载JS – 将你的JS文件直接放到另一个页面的HTML中,然后将此页面URL地址作为iframe标签src属性。...js.id = "js-iframe-async"; js.src = url; this.body.appendChild(js);..._l();">'); doc.close(); })('test.js'); 上述代码分为两个部分: 创建了一个隐藏的iframe标签,设置其src值为JS代码,然后插入到主页面中 在iframe...虽然标准已经比较旧了,但是里面提到了通过设置变量inDapIF为true来通知第三方JS:你现在正运行在iframe中。

    4.8K90

    Web 嵌入 | Electron 安全

    也是可以执行的 如果同时设置了 src 和 srcdoc 会怎么样 iframe src="https://www.bilibili.com/" srcdoc="Hello,...,iframe 肯定是不能直接执行 Node.js,我们先来设置一下安全三大件 nodeIntegration: true contextIsolation: false sandbox: false...Node.js nodeIntegration: true contextIsolation: false sandbox 没有显式地设置为 true 如果 iframe 的地址与渲染页面的地址不同源,...则在以下安全配置时,iframe内才可以执行 Node.js nodeIntegration: true contextIsolation: false sandbox 没有显式地设置为 true nodeIntegrationInSubFrames...: false sandbox 没有显式地设置为 true 如果 iframe 的地址与渲染页面的地址不同源,则在以下安全配置时,iframe内才可以执行 Node.js nodeIntegration

    4.3K10
    领券