我希望我的小工具有两种不同的观点:一种情况就是这样 添加,让用户输入一些信息,一旦他完成了 另一个根据该信息显示一些数据。
我最早可以决定我必须选择哪两种观点 显示是我第一次获得状态,即处于状态 打回来。但是,当我在那里更改UI时,它并不总是显示 - 显然存在一些时间问题。有时UI不会 完全出现,有时它显示好,有时它出现在前面 小工具加载动画。
这是一个简单的测试用例:
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Trivial" height="120">
<Require feature="wave" />
</ModulePrefs>
<Content type="html">
<![CDATA[
<script type="text/javascript">
function createForm () {
document.write("<div id=\"form\">");
document.write("Username: <input type=text value=\"whatever\" id=\"user_name\">");
document.write("<input type=button value=\"Go!\" onClick=\"fetchFromUsername()\"><br>");
document.write("NSID: <input type=text value=\"287312604@N00\" id=\"user_id\">");
document.write("<input type=button value=\"Go!\" onClick=\"fetchFromNSID()\"><br>");
document.write("Number of photos: <input type=text value=\"3\" id=\"per_page\">");
document.write("</div>");
}
</script>
<script type="text/javascript">
function stateUpdated () {
createForm ();
}
function init() {
if (wave && wave.isInWaveContainer()) {
wave.setStateCallback (stateUpdated);
}
}
gadgets.util.registerOnLoadHandler(init);
</script>
]]>
</Content>
</Module>
答案 0 :(得分:0)
<script type="text/javascript">
function createForm () {
document.write("<div id=\"form\">");
document.write("Username: <input type=text value=\"whatever\" id=\"user_name\">");
document.write("<input type=button value=\"Go!\" onClick=\"fetchFromUsername()\"><br>");
document.write("NSID: <input type=text value=\"287312604@N00\" id=\"user_id\">");
document.write("<input type=button value=\"Go!\" onClick=\"fetchFromNSID()\"><br>");
document.write("Number of photos: <input type=text value=\"3\" id=\"per_page\">");
document.write("</div>");
}
</script>
正如您在http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26809268文档中所看到的那样,
写: 将一串文本写入open()打开的文档流。请注意,该函数将生成一个不一定由DTD驱动的文档,因此可能会在文档的上下文中生成无效结果。
所以使用这种方法并不酷。我建议你使用一个框架,比如jQuery,它可以以友好的方式创建和添加元素。它将是一个工作方法。