0
我有一個簡單的窗口,說明一個ZUL文件,其中包含與操作按鈕:ZK:問題與JavaScript方法從動作調用谷歌瀏覽器
<?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中會導致錯誤「未捕獲的ReferenceError:initObj未定義」。 您有什麼建議嗎,谷歌瀏覽器中這個問題的原因是什麼?我該如何解決這個問題?
P.S.我正在使用ZK 3.6.3。
PPS。指定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>
您是否有產生acutal HTML輸出我們應該能夠計算出正在發生的事情......就目前而言,Chrome並不呈現ZK文件。 – Kinlan 2010-04-09 11:55:42
@Kinlan 使用從指定的zul生成的html代碼更新了我的文章。 – 2010-04-14 13:25:51