ZF2 headScript 包含两次相同的文件
ZF2 headScript including same file twice
我正在使用 ZF2 并遇到了一个奇怪的行为。当我使用 headScript 附加或前置某些 Javascript 文件时,该文件被包含两次。 inlineScript 也是如此。
这是我对 headScript()->appendFile() 的实际看法:
<?php echo $this->headScript()->appendFile($this->basePath('js/dashboard.min.js')); ?>
使用此实现,当我的页面加载时,所有请求都会发出两次,这是非常糟糕的,因为是对 API:
的异步请求
Test
[2, 1, 0, 0, 0, 0, 0]
Test
[2, 1, 0, 0, 0, 0, 0]
我也试过没有 $this->basePath()
:
<?php echo $this->headScript()->appendFile('js/dashboard.min.js'); ?>
并得到相同的行为。
但是如果我把这个 Javascript 放在没有 headScript 的情况下,它就可以正常工作,包括一次。
<script src="js/dashboard.min.js"></script>
// And the output
Test
[2, 1, 0, 0, 0, 0, 0]
我看到的是第一个包含是在页面加载时生成的,第二个包含是在几秒后(2 或 3 秒)。
有人遇到过这种行为吗?如果是,是否解决了?怎么样?
我认为问题在于您正在呼应 headScript。尝试删除您的 echo 语句,我相信它会正常工作。
使用这个:
<?php $this->headScript()->appendFile($this->basePath('js/dashboard.min.js')); ?>
而不是这个:
<?php echo $this->headScript()->appendFile($this->basePath('js/dashboard.min.js')); ?>
我正在使用 ZF2 并遇到了一个奇怪的行为。当我使用 headScript 附加或前置某些 Javascript 文件时,该文件被包含两次。 inlineScript 也是如此。
这是我对 headScript()->appendFile() 的实际看法:
<?php echo $this->headScript()->appendFile($this->basePath('js/dashboard.min.js')); ?>
使用此实现,当我的页面加载时,所有请求都会发出两次,这是非常糟糕的,因为是对 API:
的异步请求Test
[2, 1, 0, 0, 0, 0, 0]
Test
[2, 1, 0, 0, 0, 0, 0]
我也试过没有 $this->basePath()
:
<?php echo $this->headScript()->appendFile('js/dashboard.min.js'); ?>
并得到相同的行为。
但是如果我把这个 Javascript 放在没有 headScript 的情况下,它就可以正常工作,包括一次。
<script src="js/dashboard.min.js"></script>
// And the output
Test
[2, 1, 0, 0, 0, 0, 0]
我看到的是第一个包含是在页面加载时生成的,第二个包含是在几秒后(2 或 3 秒)。
有人遇到过这种行为吗?如果是,是否解决了?怎么样?
我认为问题在于您正在呼应 headScript。尝试删除您的 echo 语句,我相信它会正常工作。
使用这个:
<?php $this->headScript()->appendFile($this->basePath('js/dashboard.min.js')); ?>
而不是这个:
<?php echo $this->headScript()->appendFile($this->basePath('js/dashboard.min.js')); ?>