Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
依赖于Yii2中JavaScript代码块的JavaScript文件(用于dojo配置)_Javascript_Php_Dojo_Yii2 - Fatal编程技术网

依赖于Yii2中JavaScript代码块的JavaScript文件(用于dojo配置)

依赖于Yii2中JavaScript代码块的JavaScript文件(用于dojo配置),javascript,php,dojo,yii2,Javascript,Php,Dojo,Yii2,我正在尝试用Yii 2.0注册dojo javascript文件。 根据dojo文档,dojo配置的代码块必须在实际的dojo.js之前加载,才能考虑。但是,在HTML输出中,我的自定义javascript代码总是在dojo.js之后加载 这是我的代码: $this->registerJs('dojoConfig="async:true,isDebug:true";', $this::POS_HEAD,'dojoconfiguration'); $this->registerJsFi

我正在尝试用Yii 2.0注册dojo javascript文件。 根据dojo文档,dojo配置的代码块必须在实际的dojo.js之前加载,才能考虑。但是,在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>

dojoConfig=“async:true,isDebug:true”;

任何建议?

对于同一位置,Yii2始终将内联脚本放在第一位,然后是实际的外部文件。因此,无法通过将它们都添加到
中来解决此问题

最好让
注册表jsfile()
调用
POS\u END
在最末端加载它。在调用
document.ready()
之前,它仍将被加载

这样,您就可以确保在加载之前解析了头中的配置。最坏的情况是,您可以在body标记打开后立即使用
POS_BEGIN
加载它,但由于加载javascript会被阻塞,因此我会尽量避免这种情况