registerJs( $js, $position, $identified_name );
$js : 放入 script
$position :
有五種 : POS_HEAD、POS_BEGIN、POS_END、POS_READY、POS_LOAD
POS_HEAD:放在 <head> 和 </head> 之間
POS_BEGIN:放在 <body> 的一開始
ex : <body>
<script type="text/javascript">
...
</script>
HTML....
</body>
POS_END:放在 <body> 的最後 ( </body> 前 )
ex : <body>
HTML....
<script type="text/javascript">
...
</script>
</body>
POS_READY:測試時,發現放的位置和 POS_END 一樣
但所設定的 script 會放在 jQuery(document).ready(fuction(){ ... }); 裡
ex : <body>
HTML....
<script type="text/javascript">
jQuery(document).ready(function () {
...
});
</script></body>
ready : 等到 HTML 的 tag 都產生後才執行 script,因為 script 裡面可能會有想
要抓取 tag、對 tag 做設定,所以要等 tag 產生,否則 script 在執行時
會有問題 。
POS_LOAD:測試時,發現放的位置和 POS_END 一樣
但所設定的 script 會放在 jQuery(window).load(fuction () { ... }); 裡
ex : <body>
HTML....
<script type="text/javascript">
jQuery(window).load(function () { ... });</script>
</body>
load : 會等到所有網頁的資源都下載完後才執行 script,因為 scirpt 裡面可能
會有想要抓取這些資源的資訊,所以要等這些資源下載完,否則 script
在執行時會有問題。
資源:ex : 圖片、flash、iframe
$identified_name :
設定這組註冊 script 的名稱,預設為 null。如果有兩個註冊的名稱相同,後面的會覆蓋前面的
script。
使用前:
regitserJs 是放在 yii\web\View 裡面,如果要方便使用的話,可以先
use yii\web\View;
之後就可以 $this->registerJs( ... );
使用範例:
use yii\web\View;
$this->registerJs(
"alert( "registerJs test" );" ,
POS_HEAD,
null
);
沒有留言:
張貼留言