我有一个带有简单窗口描述的 zul 文件,其中包含带有操作的按钮:
<?xml version="1.0" encoding="UTF-8"?>
<zk xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.zkoss.org/2005/zul"
xmlns:zk="http://www.zkoss.org/2005/zk"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
<window title="My First Window" border="normal" width="200px">
<button label="click me" action="onclick:initObj()" />
<script type="text/javascript" defer="true">
function initObj() {
alert('initObj invoked');
zkJScriptObject.init();
}
zkJScriptObject = {
init: function () {
alert('init invoked');
}
};
</script>
</window>
</zk>
单击按钮成功调用 Javascript 函数 initObj() 并在 FireFox 和 IE 中显示警报,但在 Google Chrome 中会导致错误“Uncaught ReferenceError: initObj is not defined”。你有什么建议吗,谷歌浏览器出现这个问题的原因是什么,我该如何解决?
PS 我正在使用 ZK 3.6.3。
聚苯乙烯。指定的 zul 描述呈现到该 html 代码中:
<div id="zkau_798" z.type="zul.wnd2.Wnd2" z.autoz="true" class="z-window-embedded" style="width:200px;"
z.zcls="z-window-embedded" z.minheight="100" z.minwidth="200">
<div class="z-window-embedded-tl">
<div class="z-window-embedded-tr"></div>
</div>
<div class="z-window-embedded-hl">
<div class="z-window-embedded-hr">
<div class="z-window-embedded-hm">
<div id="zkau_798!caption" class="z-window-embedded-header">My First Window</div>
</div>
</div>
</div>
<div id="zkau_798!cave" class=" z-window-embedded-cnt">
<span z.type="zul.btn.Button" id="zkau_799" class="z-button" z.zcls="z-button">
<table id="zkau_799!box"
cellspacing="0"
cellpadding="0" border="0"
class="z-button"
onclick="initObj()"
style="-webkit-user-select: none; ">
<tbody>
<tr>
<td class="z-button-tl">
<button id="zkau_799!real" class="z-button"></button>
</td>
<td class="z-button-tm"></td>
<td class="z-button-tr"></td>
</tr>
<tr>
<td class="z-button-cl"></td>
<td class="z-button-cm">click me</td>
<td class="z-button-cr">
<div></div>
</td>
</tr>
<tr>
<td class="z-button-bl"></td>
<td class="z-button-bm"></td>
<td class="z-button-br"></td>
</tr>
</tbody>
</table>
</span>
<script id="zkau_800" type="text/javascript" defer="defer">
function initObj() {
alert('initObj invoked');
zkJScriptObject.init();
}
zkJScriptObject = {
init: function () {
alert('init invoked');
}
};
</script>
</div>
</div>