iframe跨域自动登录(如何使用iframe实现跨域写入cookie 并且兼容大部分浏览器)
本文目录
- 如何使用iframe实现跨域写入cookie 并且兼容大部分浏览器
- Excel 求助,请教IFRAME框架网页的自动登录
- 跨域访问iframe问题
- 如何单点登录或如何跨域访问iframe内DOM元素
- iframe怎样解决跨域问题
- JS跨域访问操作iframe代码
如何使用iframe实现跨域写入cookie 并且兼容大部分浏览器
请首先修改hosts文件来模拟本机跨域127.0.0.1 localhost127.0.0.1 b.com127.0.0.1 a.com 我们的目的:由a.com登录,如果登录成功,就生成a.com的cookie。而对于b.com则无需再次登录。遇到的困难:浏览器同源策略限制,即A站点页面的脚本是无法直接操纵B站点的内容。试想如果所有第三方网站都可以对taobao.com的首页任意篡改,那这个社会还有什么安全性可言呢? 其实浏览器的安全策略逻辑很简单,就是我的地盘我做主,出了我的地盘我做不了主。 解决方案:a.com根据用户输入操作a.com的cookie,b.com根据用户在a.com得到的输入数据来操作b.com的cookie。如何在a.com用户输入a.com的用户数据时同时提交到b.com的验证页面呢?这时候iframe就派上用场了。相关代码: 《form method=“post“ action=“《?php print $b?》setcookie.php“ target=“ifrm“ 》《fieldset》 《legend》跨域获取cookie《/legend》 《b》用户名《/b》 《p》 《input type=“text“ id =“username“ name=“username“/》 《/p》 《p》《button onclick=“login()“ type=“submit“》Login《/button》《/p》 《/fieldset》 《/form》 ... 《iframe id =“ifrm“ name=“ifrm“ style=“display:none;“ src=“《?php print $b?》setcookie.php“ /》请注意form表单的相关属性,b.com/setcookie.php页面就是验证a.com用户的输入然后生成b.com的cookie,这样后续访问b.com无需再次输入用户名和密码。 缺点:需要先设置跨域站点的cookie然后再来设置本域的cookie;如果跨域站点请求耗时较长,直接影响本域的操作时间;另外也需要额外的代码来处理跨域站点请求失败后的操作IE中需要设置接受cookie(隐私),这一点比较不方便。附件:/Files/1000/xdm.rar测试方法:1)按文章开头修改hosts文件2)登录a.com/default.php3)输入表单数据4)点击a.com/default.php下面的链接就可以在b.com/getcookie.php看到b.com的cookie
Excel 求助,请教IFRAME框架网页的自动登录
1、建立一个bottom.js的文件,然后输入下面的代码(只有两行哦) parent.document.all(“框架ID名“).style.height=document.body.scrollHeight; parent.document.all(“框架ID名“).style.width=document.body.scrollWidth; 这里的 框架ID名 就是Iframe的ID,比如: <IFRAME id=“框架ID名“ name=“left“ frameBorder=0 scrolling=no src=“XXX.asp“ width=“100%“></IFRAME> 2、给你网站里所有的被包含文件里面每个都加入 <script language = “JavaScript“ src = “bottom.js“/></script> 3、OK,收工! 在WINXP、IE6下面测试通过。很简单吧!
跨域访问iframe问题
跨域指的应该是数据传输的跨域,一般的解决方法就是用转正页面把数据带回到本地,然后用js来取数据。
下图是常用的跨域形式:
下面是用中转页面解决跨域的步:
1.建立一个中转页面,用来接受从服务器端返回的数据,同时在这个页面中有一段js来处理数据:
《script》(function(){ var str=window.location.search; var ret=str.match(/\w+?\=.*?(?=($|\&))/g); if(!ret){return;} var param={},i=-1,len=ret.length,ar; for(;str=ret=ar; } var json=param.json,callback=param.callback; if(!(json&&callback)){return;} window.setTimeout(callback+’(’+decodeURIComponent(json)+’)’,0)})();《/script》这个中转页面就是一段js,不需要其他内容。
这段js的作用就是接受跟在链接后面的参数。
2.在当前页面中加上一个隐藏的iframe,并让上面的页面在这个隐藏的iframe中打开,这样一来,页面就被嵌套到你当前的页面中,所以如果你在当前页面中定义了函数,那么在iframe中是可以调用到的:
window.top或者window.parent需要你根据需要选择。
这样一来远程的数据就通过了中转页面到达了你当前页面,解决了跨域的问题。
其他跨域方式简介:
1.img标签(只能发送)(一像素的透明图)统计点击数和流量分析)
2.iframe
3.script标签(约定回调,json格式)
4XMLHttpRequst对象
5服务器端代理
你先看一下,有问题可以继续追问,希望能帮到你!
如何单点登录或如何跨域访问iframe内DOM元素
我觉得,如果iframe内嵌套的网页中的dom元素可以被获取,呢是一件很危险的事,因为我如果使用irame嵌套别人的网页,并在自己的网页中获取到多方网页的的节点,呢不是想怎么操作就怎么操作了,,,不知道这种想法对不对!!!!!!!!
iframe怎样解决跨域问题
就是建立一个隐藏的iframe在当前页面b.html,并在当前页中定义函数a。
服务器端把返回的数据重定向到一个同域的页面(a.html)中。
在a.html写一段js,执行函数a,来提取a.html中的数据obj,并把数据作为参数传给函数,window.parent.a(obj);
因为a.html是被包含在b.html中的,所以window.parent.a(obj)其实是调用了在b.html中定义a函数。
就是这样,硬生生的把跨域的数据拿过来了。
希望采纳,不懂追问!
JS跨域访问操作iframe代码
没太明白你的意思,如果是让iframe跟着主窗口大小走,那么只需要设置iframe的大小就可以了。 《html》 《body》 《iframe width=“100%“ height=“100%“ src=“b.html“ id=“frm“》 《/iframe》《br》 输入宽:《input name=“myWidth“》《br》 输入高:《input name=“myHeight“》《br》 《input type=“button“ value=“调整大小“ onClick=“fun()“》 《/body》 《/HEAD》 《/HTML》 《script》 function fun(){ var myWidth = document.getElementById(“myWidth“).value; var myHeight = document.getElementById(“myHeight“).value; window.resizeTo(myWidth,myHeight); } 《/script》补充:你的意思说,A页面有多大,你的B页面就有多大,把整个屏幕撑满,是这个意思吗?
更多文章:

equals to(A equals B 与 A equals to B 这两个用法都对吗)
2025年3月9日 10:30

toaster oven(电烤箱上Grill、Oven、Toast是什么意思)
2025年3月15日 08:00

用switch语句输出成绩等级(在java里面利用switch case求出成绩所在等级如何做)
2025年2月19日 11:20

使命召唤ol(codol)体验服怎么进去!?codol算不算动视暴雪
2025年3月2日 04:50

16进制转10进制c语言代码(C语言写一个函数,16进制转十进制)
2025年3月13日 13:40

compare with to(怎么区分compare with和compare to)
2025年3月27日 05:10

interesting是什么意思英语(“interesting”怎么读)
2025年2月9日 05:00

condescending(condescending什么意思)
2025年4月2日 09:40

drawable是什么意思(drawablehdpi什么意思)
2025年3月15日 14:30