前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >laravel-admin 目录可实现外链iframe嵌套

laravel-admin 目录可实现外链iframe嵌套

作者头像
友儿
发布2022-09-11 17:34:33
9500
发布2022-09-11 17:34:33
举报
文章被收录于专栏:友儿友儿
  • 我们有这样一个需求,使用laravel-admin在目录添加一个外链,要求点击外链以iframe嵌入到laravel-admin显示。
  • 我们在app/Admin/routes.php里面加入跳转路由,同时在laravel-admin后台加上目录连接并赋予连接权限,我们尝试点击之后并不是iframe嵌入显示
代码语言:javascript
复制
   ​$router->redirect('/spider-home', 'http://xxxxx.com/login/cjweb/Msg.aspx?web=xp002');
  • 我们借助一个插件快速实现目录可iframe嵌套
    • 进入项目所在目录,命令行依次执行以下代码(安装composer)
    • 如果提示Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 75497472 bytes),PHP脚本使用的内存已经超过了系统对其设置的允许最大内存
      • 查询你的composer安装路径
      • 临时php的允许最大内存 (memory_limit=-1 表示不限制)
代码语言:javascript
复制
[root@VM-40-48-centos]# whereis composer
 composer: /usr/local/bin/composer
代码语言:javascript
复制
 composer require ichynul/iframe-tabs  //不提示最大内存使用
 php -d memory_limit=-1  /usr/local/bin/composer   require ichynul/iframe-tabs  //提示最大内存使用
 php artisan vendor:publish --tag=iframe-tabs
 php artisan admin:import iframe-tabs
  • 在config/admin.php添加配置
代码语言:javascript
复制
  'extensions' => [
        'iframe-tabs' => [
           // Set to `false` if you want to disable this extension
            'enable' => true,
            // The controller and action of dashboard page `/admin/dashboard`
            'home_action' => App\Admin\Controllers\HomeController::class . '@index',
            // Default page tab-title
            'home_title' => 'Home',
            // Default page tab-title icon
            'home_icon' => 'fa-home',
            // Whether show icon befor titles for all tab
            'use_icon' => true,
            // dashboard css
            'tabs_css' =>'vendor/laravel-admin-ext/iframe-tabs/dashboard.css',
            // layer.js path
            'layer_path' => 'vendor/laravel-admin-ext/iframe-tabs/layer/layer.js',
            /**
             * href links do not open in tab .
             * selecter : .sidebar-menu li a,.navbar-nav>li a,.sidebar .user-panel a,.sidebar-form .dropdown-menu li a
             * if(href.indexOf(pass_urls[i]) > -1) //pass
             */
            'pass_urls' => ['/auth/logout', '/auth/lock'],
            // When login session state of a tab-page was expired , force top-level window goto login page .
            //登录超时是是否强制整体跳转到登录页面,设为false的话只在触发超时登录的页面跳转,最大程度保留已打开页面。
            'force_login_in_top' => true,
            // tabs left offset
            'tabs_left'  => 42,
            // bind click event of table actions [edit / view / create]  
            'bind_urls' => 'popup', //[ popup / new_tab / none]
            //table actions dom selecter, [view / edit / create]buttons ,and any thing has class pupop : <a class="pupop" popw="400px" poph="200px" href="someurl">mylink</a>
            'bind_selecter' => 'a.grid-row-view,a.grid-row-edit,.column-__actions__ ul.dropdown-menu a,.box-header .pull-right .btn-success,.popup',
            //layer popup size
            'layer_size' => '1100px,98%',
            // if run web in `cli` mode ,for example `swoole` ,set it to true,如果是以命令行方式运行网站,如`swoole` 就设置为 true
            'web_in_cli' => false
        ]
    ],
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档