nirvana-msu / yii2-iframe-resizer

此包已被废弃,不再维护。没有推荐替代包。

基于javascript的iFrame Resizer的Yii2扩展

安装: 1,767

依赖: 0

推荐者: 0

安全性: 0

星标: 8

关注者: 2

分支: 3

开放问题: 0

类型:yii2-extension

dev-master / 1.0.x-dev 2015-11-15 23:25 UTC

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库相同。