簡體   English   中英

JavaScript文件依賴於Yii2中的JavaScript代碼塊(用於dojo配置)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM