zoukankan      html  css  js  c++  java
  • Yii2 如何更好的在页面注入JavaScript

    首先

    先添加一个widgets,代码如下(提示:使用时注意修改命名空间)

    <?php
    /**
     * User: yiqing
     * Date: 14-9-15
     * Time: 下午12:09
     */
     
    namespace yearwidgets;
     
    use yiiwebView ;
    use yiiwidgetsBlock ;
     
     
    class JsBlock extends Block{
     
        /**
         * @var null
         */
        public $key = null;
        /**
         * @var int
         */
        public $pos = View::POS_END ;
        /**
         * Ends recording a block.
         * This method stops output buffering and saves the rendering result as a named block in the view.
         */
        public function run()
        {
            $block = ob_get_clean();
            if ($this->renderInPlace) {
               throw new Exception("not implemented yet ! ");
               // echo $block;
            }
            $block = trim($block) ;
            /*
            $jsBlockPattern  = '|^<script[^>]*>(.+?)</script>$|is';
            if(preg_match($jsBlockPattern,$block)){
                $block =  preg_replace ( $jsBlockPattern , '${1}'  , $block );
            }
            */
            $jsBlockPattern  = '|^<script[^>]*>(?P<block_content>.+?)</script>$|is';
            if(preg_match($jsBlockPattern,$block,$matches)){
                $block =  $matches['block_content'];
            }
     
            $this->view->registerJs($block, $this->pos,$this->key) ;
        }
    }

    使用

    示例如下:

    <?php yearwidgetsJsBlock::begin() ?>
    <script >
        $(function(){
            jQuery(".company_introduce").slide({mainCell:".bd ul",effect:"left",autoPlay:true,mouseOverStop:true});
        });
    </script>
    <?php yearwidgetsJsBlock::end()?>

    总结

    为什么要这么写?

    这样写的好处有两个,有代码提示和有代码高亮!!

    来源地址:http://www.getyii.com/topic/9

  • 相关阅读:
    内置函数——filter和map
    递归函数
    内置函数和匿名函数
    迭代器和生成器
    装饰器函数
    函数进阶
    COGS 2533. [HZOI 2016]小鱼之美
    COGS 2532. [HZOI 2016]树之美 树形dp
    COGS2531. [HZOI 2016]函数的美 打表+欧拉函数
    bzoj1303: [CQOI2009]中位数图
  • 原文地址:https://www.cnblogs.com/yhdsir/p/5181695.html
Copyright © 2011-2022 走看看