javascript - 使用 zend 框架更新 body 标签中的 javascript

标签 javascript zend-framework

您好,我不确定这是否可行,但我想以编程方式更新 标记以更改我的 zend 框架应用程序中的 onload 函数。

该应用正在使用布局,因此 body 标签当前看起来像这样

然而,在我的一个 View 中,我有一张来自谷歌的 map 正在加载,它需要在这个特定 View 的 body 标签中包含以下内容

如您所知,我不希望将其硬编码到我的布局中,因为这会导致各种不同 View 的噩梦。

如果可能的话,如何以编程方式完成?我正在使用 headScript 函数添加 javascript 那么是否有 body 标签的等价物?

提前致谢...

最佳答案

方法一 - 使用布局变量

一个想法如下:

<body class="trandra" <?php echo $this->layout()->bodyScripts ?>>

在你看来:

<?php
   $this->layout->bodyScripts = 
       'onload="initialize()" onunload="GUnload()"';

方法二 - 添加事件处理程序的附加 JS 文件

另一种不那么突兀且不影响 HTML 的方法是在需要 onload 和 onunload 处理程序的 View 中添加一个额外的 JS 文件。它可能看起来像这样:

<?php
   $this->headScript()->appendScript(
                         '/path/to/javascripts/loadGMaps.js');

在您的 loadGMaps.js 中(使用 prototype )

Event.observe(window, 'load', function onLoadHandler() {
    // Code for initializing Google maps here
});

Event.observe(window, 'unload', function onUnloadHandler() {
    // Code for unloading Google maps here
});

关于javascript - 使用 zend 框架更新 body 标签中的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1155569/

相关文章:

javascript - 选中复选框时隐藏 div 元素

javascript - 我如何确保只能从 Electron 窗口内部访问 Electron Express 应用程序

javascript - 在 ViewportChecker 上 5 秒后删除类

php - Zend 表单 : How do I make it bend to my will?

php - Zend Framework 2 中的 SUBSTRING()/MID() 语句

javascript - 这段代码做什么

javascript - 如何使用数组按列填充表格?

zend-framework - 最小化 Zend 中的查询数量

zend-framework - Zend 框架 - 将消息从当前操作发送到 Controller 中的另一个操作

php - mysql utf 8 和像 ñ,á,é 这样的字符不插入