[英]JavaScript file dependend on JavaScript code block in Yii2 (for dojo configuration)
我正在嘗試使用Yii 2.0注冊dojo javascript文件。 根據dojo文檔,必須在實際的dojo.js之前加載dojo配置的代碼塊才能被考慮。 但是,在HTML輸出中,我的自定義javascript代碼總是在dojo.js之后加載。
這是我的代碼:
$this->registerJs('dojoConfig="async:true,isDebug:true";', $this::POS_HEAD,'dojoconfiguration');
$this->registerJsFile('/dojo_toolkit/dojo/dojo.js', ['depends' => [\yii\web\JqueryAsset::className()], 'position' => yii\web\View::POS_HEAD]);
在HTML中它看起來像這樣:
<script src="/dojo_toolkit/dojo/dojo.js"></script>
<script type="text/javascript">dojoConfig="async:true,isDebug:true";</script>
有什么建議嗎?
對於相同的位置,Yii2始終首先放置內聯腳本,然后放置實際的外部文件。 所以你不能通過將它們添加到<head>
來解決這個問題。
最好給registerJsFile()
調用一個POS_END
來在最后加載它。 它仍將在進行document.ready()
調用之前加載。
這樣,您可以確保在加載之前解析標頭中的配置。 最壞的情況你可以使用POS_BEGIN
在打開body標簽后立即加載它,但是因為加載javascript是阻塞的,我會盡量避免這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.