本文介绍了从子视图将 Javascript 文件附加到 InlineScript 集合的末尾的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Zend Framework 2.

I'm working with Zend Framework 2.

在我的布局文件中,我注入了一些这样的 javascript 文件:

In my Layout File i inject some javascript files like this:

$this->InlineScript()
            ->appendFile($this->basePath() . '/js/myfile.js');


echo $this->InlineScript();

现在我想从视图中注入一些 javascript,以便它附加到 InlineScript 集合的末尾.

Now i want to inject some javascript from a view so that it appends to the end of the InlineScript Collection.

所以我在我的动作视图中写了这个:

So i wrote this in my action view:

<?php $this->InlineScript()->offsetSetFile(100,$this->basePath() . '/js/xyz.js'); ?>

但结果是文件 xyz 在渲染视图中首先加载.

But the result is the File xyz is loaded first in the rendered view.

我正在使用 Zend Framework 2.0.5

I'm working with Zend Framework 2.0.5

有人可以给我建议如何管理吗?

Does anybody can give me an advise how to manage this ?

推荐答案

只是为了补充这个老问题:

Just to complement this old question:

内部视图:在页面顶部附加一个文件:

Inside View:Append a file at the top of the page:

$this->headScript()->appendFile('/js/filename.js');

在页面顶部附加脚本

$this->headScript()->appendScript('alert(1)');

在页面底部附加一个文件:

$this->inlineScript()->appendFile('/js/filename.js');

在页面底部附加脚本

$this->inlineScript()->appendScript('alert(1)');

内部控制器/动作

使用 serviceLocator 抓取 Headscript,其余相同

Grab Headscript using serviceLocator and the rest is the same

$this->getServiceLocator()
    ->get('viewhelpermanager')
    ->get('HeadScript')->appendScript('alert(1)'); //or ->appendFile('/js/filename.js');

如果您知道如何在操作中获取 inlineScrip,请告诉我们.

If you know how to get inlineScrip inside an action please let us know.

这篇关于从子视图将 Javascript 文件附加到 InlineScript 集合的末尾的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 13:11