国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - yii2 頁(yè)面底部加載css和js的技巧

yii2 頁(yè)面底部加載css和js的技巧

2021-01-10 17:09白狼棧 PHP教程

這篇文章主要介紹了yii2 頁(yè)面底部加載css和js的技巧的相關(guān)資料,需要的朋友可以參考下

一般來(lái)說(shuō),網(wǎng)頁(yè)內(nèi)部的js文件或代碼,都是放置在網(wǎng)頁(yè)底部</body>的前面,這是因?yàn)榫W(wǎng)頁(yè)自上而下加載,用戶在訪問(wèn)我們頁(yè)面的時(shí)候盡量不要因?yàn)榧虞djs展現(xiàn)過(guò)長(zhǎng)時(shí)間的空白頁(yè)面,停留時(shí)間過(guò)長(zhǎng)就白白流失了用戶量。

yii2中是集成了jQuery的,而且jQuery文件是加載在頁(yè)面底部的,因此,如果我們的js代碼段不在頁(yè)面底部加載,就很大可能會(huì)發(fā)生$未定義的友好提示。

我這廢話一大堆得毛病確實(shí)需要去掛個(gè)號(hào)看看了...

先來(lái)看看js代碼段怎么處理

?
1
2
3
4
5
6
7
<?php
$this->registerJs('
$(function () {
//為所欲為的寫你想要寫的js代碼吧
$......
});
', \yii\web\View::POS_END);

對(duì),就是用上面的registerJs方法注冊(cè),有小伙伴聽(tīng)不懂了,啥是注冊(cè),簡(jiǎn)單理解就是把你的js代碼放置在你想要放的頁(yè)面位置。

第一個(gè)參數(shù)嘛,很好理解,就是我們要寫的js代碼塊。第二個(gè)參數(shù)就是我們需要指定代碼塊插入在頁(yè)面的具體位置了。

第二個(gè)參數(shù)這里只討論 \yii\web\View::POS_END,意思就是頁(yè)面底部</body>之前插入。

當(dāng)然還有第三個(gè)參數(shù),意思是js代碼塊的一個(gè)id標(biāo)示,不指定會(huì)默認(rèn)生成,此處忽略。

 哦對(duì)了,上面的$this不要混淆,這里是指yii\web\View對(duì)象

接下來(lái)一起看看怎么引入外部的js文件。

官網(wǎng)的例子是這樣給的

?
1
$this->registerJsFile('http://example.com/js/main.js', ['depends' => [\yii\web\JqueryAsset::className()]]);

但是人家說(shuō)了,我們不建議這么用,這樣依賴來(lái)依賴去關(guān)系復(fù)雜。

好了,我們來(lái)看看怎么使用包管理asset bundles進(jìn)行注冊(cè)吧。

我們先打開(kāi)文件 backend\assets\AppAsset.php文件瞅瞅是什么高大上的東西,我擦,果然高深,我張作完全看不懂的樣子,完了,下面沒(méi)法寫了,看不懂怎么講,回歸正題,我們要抓緊時(shí)間擴(kuò)展下。

我們?cè)贏ppAsset類里添加了兩個(gè)靜態(tài)方法,完整版的AppAsset類如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
namespace backend\assets;
use yii\web\AssetBundle;
/**
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
class AppAsset extends AssetBundle
{
  public $basePath = '@webroot';
  public $baseUrl = '@web';
  public $css = [
    'css/site.css',
  ];
  public $js = [
  ];
  public $depends = [
    'yii\web\YiiAsset',
    'yii\bootstrap\BootstrapAsset',
  ];  //定義按需加載JS方法,注意加載順序在最后
  public static function addScript($view, $jsfile) {
    $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'backend\assets\AppAsset']);
  }
  //定義按需加載css方法,注意加載順序在最后
  public static function addCss($view, $cssfile) {
    $view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'backend\assets\AppAsset']);
  }
}

我們先來(lái)說(shuō)說(shuō)添加的addScript和addCss有啥作用,意圖是啥,上面說(shuō)了,不建議在view層直接用$this->registerJsFile方法注冊(cè)文件,這里呢,我們添加的addScript方法,以后view層直接調(diào)用這個(gè)方法對(duì)文件進(jìn)行注冊(cè)。

那為啥這個(gè)就好了呢?好處是非常明顯的,調(diào)用該方法避免了每次注冊(cè)文件都要填寫依賴關(guān)系,十分方便。

其中需要說(shuō)明的是,需要注冊(cè)的文件都會(huì)在yii.js和bootstrap.js文件的后面,這也正是我們所需要的。

這樣一來(lái),我們?cè)趘iew層加載外部js文件也就灰常簡(jiǎn)單了,像下面這樣,

?
1
2
3
use backend\assets\AppAsset;
AppAsset::register($this);
AppAsset::addScript($this,'/css/main.js');

而不必像下面這樣繁瑣:

?
1
2
3
$this->registerJsFile('/css/main.js',['depends'=>['backend\assets\AppAsset'], 'position'=> $this::POS_END]);
$this->registerJsFile('/css/left.js',['depends'=>['backend\assets\AppAsset']]);
$this->registerJsFile('/css/extension.js',['depends'=>['backend\assets\AppAsset']]);

到此喃,我們就完整的實(shí)現(xiàn)了在yii2中頁(yè)面底部加載css,js代碼或外部文件了。

以上所述是小編給大家介紹的yii2 頁(yè)面底部加載css和js的技巧的相關(guān)內(nèi)容,希望對(duì)大家有所幫助!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美精品一区在线 | 黑人一区 | 欧美在线综合 | 欧美成人精品一区二区三区 | 亚洲专区欧美 | 亚洲精品一区二区三区 | 成人免费毛片嘿嘿连载视频 | 亚洲欧美自拍偷拍 | 久久久高清 | 国产成人精品久久二区二区91 | 午夜精品视频在线观看 | 国产精品中文在线 | 宅男lu666噜噜噜在线观看 | 久久久五月天 | 精品亚洲第一 | 免费国产视频 | 2018自拍偷拍 | 日韩一级视频 | 国产黄色片一级 | 玖玖综合网 | 国产精品一码二码三码在线 | 欧美在线网站 | 精品欧美乱码久久久久久1区2区 | 国产高清免费 | 操操av| 91精品久久久久久久久久 | 午夜看片网站 | 免费视频爱爱太爽了 | 国产成人精品久久 | 欧美日本一区二区三区 | 精品久久久久久久久久久下田 | 午夜精品久久久久久久男人的天堂 | 亚洲毛片| 欧洲精品一区 | 国产精品久久久久久久久 | 久久精品国产亚洲一区二区三区 | 国产精品免费视频一区二区三区 | 日本视频免费高清一本18 | 久久亚洲欧美日韩精品专区 | 伊人网网站 | 亚洲一区二区三区在线播放 |