就是建立一个隐藏的iframe在当前页面bhtml,并在当前页中定义函数a。
服务器端把返回的数据重定向到一个同域的页面(ahtml)中。
在ahtml写一段js,执行函数a,来提取ahtml中的数据obj,并把数据作为参数传给函数,windowparenta(obj);
因为ahtml是被包含在bhtml中的,所以windowparenta(obj)其实是调用了在bhtml中定义a函数。
就是这样,硬生生的把跨域的数据拿过来了。
希望采纳,不懂追问!
ifram的缺点:1、iframe会阻塞主页面的onload事件;
2、iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。,会产生很多页面,不容易管理。
3、iframe框架结构有时会让人感到迷惑,如果框架个数多的话,可能会出现上下、左右滚动条,会分散访问者的注意力,用户体验度差。
4、代码复杂,无法被一些搜索引擎索引到,这一点很关键,现在的搜索引擎爬虫还不能很好的处理iframe中的内容,所以使用iframe会不利于搜索引擎优化(SEO)。
5、很多的移动设备无法完全显示框架,设备兼容性差。
6、iframe框架页面会增加服务器的>你打开 iframe src的页面
完了在 那个页面的 <head> 和 <title> 中间 写入
<meta >
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);完成对父页面宽度和高度的设置;
如图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)