新浪微博 page应用 自适应高度设定 终于找到解决方法

我做的是PAGE应用,无法自适应高度。找了好久解决方法。

用js 设置父窗口 iframe 也不好用,有的浏览器不兼容。

官方上说发是这样的:

应用动态高度自适应

Iframe高度:开发者可以使Iframe的高度根据你的应用页面自适应,但需要开发者在应用页面中部署一段JS代码:

<script src="http://js.t.sinajs.cn/t4/enterprise/js/public/appframe/client.js" type="text/javascript"></script>
提示:若你的应用有多个页面,并且每个页面的高度不一致,则每个页面都需要部署以上JS代码。appClient.js为支持授权弾层的iframe自适应,包含client.js的所有功能。appClient.js在调用授权弹层时已加载。

可是,尼玛 根本就没有有用好伐。在网上找了半天也没有说一个能用的办法。

最后,左思右想,觉得 新浪应该会给API 设置 iframe 高度才对呀。于是就插API

在专业版应用开发指南中找到了一个这样的一句话

<script src="http://js.t.sinajs.cn/t4/enterprise/js/public/appframe/appClient.js" type="text/javascript"></script>
这个appClient.js 包含了client.js的全部功能。
appClient.js 中有一个这个函数:
App.trigger('<cmd>', ['<param>', ['<function>]]);
<cmd> 必选参数,指定行为的名称
<param> 可选参数,指定调用行为的参数
<function> 可选参数,指定行为的异步回调函数
<cmd> 列表如下:

setPageHeight 设置iframe自身的高度:

App.trigger('setPageHeight ', '500');

终于可以设置 iframe 高度了,我擦... 为什么就不能在《专业版应用开发指南》说清楚呢!让我找了这么久。NND

下图为应用框架开发文档: (App.trigger()函数是在这里找到的)

http://open.weibo.com/wiki/index.php?title=%E5%BA%94%E7%94%A8%E6%A1%86%E6%9E%B6%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3&diff=12527&oldid=12509&printable=yes 

原文地址:https://www.cnblogs.com/90nice/p/3730618.html