
我们这款沙发是采用最高端的科技制造而成,d簧的d性抗压力都是最高标准。
而且海绵质量也特别过关,定制的时候都是高端产品,坐到沙发上的时候,d性很足,也不会她坐下去的时候舒适度真好,经过无数次实践验证过的,可以放心使用。
A域名下的页面indexhtm中内嵌了一个iframe页面,iframe内引用的是B域名的sub-indexhtm页面,但是为了避免出
现在indexhtm页面中出现滚动条,需要明确知道sub-indexhtm页面的高度和宽度,可是sub-indexhtm的页面内容是不可控的,可能会根据不同用户页面大小会不一样;问题就是如何把sub-indexhtm页面的高度和宽度传递给indexhtm页面?
具体解决:
1、在indexhtm页面中声明一个js函数process(height, width);用来实现设置页面内iframe的高度和宽度;
2、
在sub-indexhtm页面中再内嵌一个隐藏的iframe,iframe的src指向A域名下的页面exhtmheight=xx&
width=yy,该页面没有任何内容,只是用来传递sub-indexhtm页面加载完之后的宽度和高度这两个数据的,页面内js拿到request
中的参数之后直接调用parentparentprocess(height, width);完成对父页面宽度和高度的设置;
如图:
请首先修改hosts文件来模拟本机跨域
127001 localhost
127001 bcom
127001 acom
我们的目的:
由acom登录,如果登录成功,就生成acom的cookie。而对于bcom则无需再次登录。
遇到的困难:
浏览器同源策略限制,即A站点页面的脚本是无法直接 *** 纵B站点的内容。
试想如果所有第三方网站都可以对taobaocom的首页任意篡改,那这个社会还有什么安全性可言呢?
其实浏览器的安全策略逻辑很简单,就是我的地盘我做主,出了我的地盘我做不了主。
解决方案:
acom根据用户输入 *** 作acom的cookie,bcom根据用户在acom得到的输入数据来 *** 作bcom的cookie。
如何在acom用户输入acom的用户数据时同时提交到bcom的验证页面呢?
这时候iframe就派上用场了。
相关代码:
<form method="post" action="<php print $b>setcookiephp" 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>setcookiephp" />
请注意form表单的相关属性,bcom/setcookiephp页面就是验证acom用户的输入然后生成bcom的cookie,这样后续访问bcom无需再次输入用户名和密码。
缺点:
需要先设置跨域站点的cookie然后再来设置本域的cookie;
如果跨域站点请求耗时较长,直接影响本域的 *** 作时间;
另外也需要额外的代码来处理跨域站点请求失败后的 *** 作
IE中需要设置接受cookie(隐私),这一点比较不方便。
附件:/Files/1000/xdmrar
测试方法:
1)按文章开头修改hosts文件
2)登录acom/defaultphp
3)输入表单数据
4)点击acom/defaultphp下面的链接就可以在bcom/getcookiephp看到bcom的cookie
以上就是关于jsoup跨域获取iframe内容全部的内容,包括:jsoup跨域获取iframe内容、js如何 *** 作iframe的跨域问题、如何使用iframe实现跨域写入cookie 并且兼容大部分浏览器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)