nirvana-msu / yii2-iframe-resizer
此包已被废弃,不再维护。没有推荐替代包。
基于javascript的iFrame Resizer的Yii2扩展
dev-master / 1.0.x-dev
2015-11-15 23:25 UTC
Requires
- bower-asset/iframe-resizer: *
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2021-11-27 03:11:56 UTC
README
基于javascript的iframe-resizer的Yii2扩展。它允许自动调整同一域名和跨域iFrame的高度和宽度,以适应其包含的内容,前提是你控制着提供和托管iFrame的页面。
资源
安装
Composer
将扩展添加到您的composer.json
文件中,并像往常一样更新您的依赖关系,例如通过运行composer update
{ "require": { "nirvana-msu/yii2-iframe-resizer": "1.0.*@dev" } }
##示例用法
###服务iFrame的页面您需要将库中的一个脚本嵌入到iFrame中。根据您的使用情况,扩展提供了两个快捷方式来完成此操作。
- 如果渲染的页面本身作为iFrame内容提供服务,只需在您的视图中注册
IFrameResizer
小部件即可
IFrameResizer::widget();
- 如果您需要将脚本嵌入到其他地方生成的现有iFrame HTML代码中,有一个方便的快捷方式可以在关闭
</body>
标签之前注入脚本
$injectedHtml = IFrameResizer::embed($html);
###托管iFrame的页面首先,注册IFrameResizerAsset
包
IFrameResizerAsset::register($this);
最后,调用库以启用动态调整大小。如文档中所述,您可以通过使用原生的 JavaScript
var iframes = iFrameResize( [{options}], [css selector] || [iframe] );
或通过jQuery
$('iframe').iFrameResize( [{options}] );
注意,jQuery没有被指定为此扩展的依赖项,因为您可以选择使用原生的版本。因此,如果您想使用jQuery,请确保它在您的视图中已注册。
##许可
扩展在MIT许可下发布,与底层iFrame Resizer库相同。