您好,我不确定这是否可行,但我想以编程方式更新
标记以更改我的 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/