metrixinfo/nova-iframe

Laravel Nova iFrame字段。

v4.0.1 2022-05-14 01:47 UTC

This package is auto-updated.

Last update: 2024-09-14 06:27:15 UTC


README

此Laravel Nova字段允许您在iFrame中显示HTML,这样就不会影响页面上的其他HTML。它仅在详细信息视图中可见。

安装

使用Composer将包安装到使用Nova的Laravel应用中

composer require metrixinfo/nova-iframe:^4.0

用法

将字段添加到资源的fields方法中

use Metrixinfo\Nova\Fields\Iframe\Iframe;
...
...
Iframe::make('HTML Content','html_content'),

如果您仅存储URL并希望将其在iFrame中预览,可以使用闭包来检索HTML。这也有助于绕过iframe安全问题,例如从https调用http内容。您可以使用file_get_contents、curl、GuzzleHttp等来检索HTML内容。

use Metrixinfo\Nova\Fields\Iframe;
...
...
Iframe::make('HTML Content', function (){
    return \file_get_contents('https://www.google.com/');
}),

选项

大小

您可以为iframe传递大小。值可以是数字或字符串。

use Metrixinfo\Nova\Fields\Iframe\Iframe;
...
...
Iframe::make('HTML Content','html_content')->size('100%', 600),

样式

您可以为iframe传递CSS样式。

use Metrixinfo\Nova\Fields\Iframe\Iframe;
...
...
Iframe::make('HTML Content','html_content')->style('border: 10px solid black;'),

类名

您可以为iframe传递类名。

use Metrixinfo\Nova\Fields\Iframe\Iframe;
...
...
Iframe::make('HTML Content','html_content')->classes('iframe-bordered iframe-large'),

选项可以链式调用

ie

use Metrixinfo\Nova\Fields\Iframe\Iframe;
...
...
Iframe::make('HTML Content','html_content')
    ->style('border: 10px solid black;')
    ->size('100%', 600)
    ->classes('iframe-bordered iframe-large'),

注意:iFrame仅将在详细信息视图中显示