问题标签 [dojo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1059 浏览

dojo - 在哪里可以找到 Dojo XMLNS DTD?

我想在我的 XHTML 页面中添加一些 Dojo 小部件,但是 Dojo 使用了一些不属于 XHTML 规范的属性。例如:

和属性会导致验证问题dojoTypedataUrl我相信 Dojo 让我dojoType进入了class属性:

这解决了部分问题,但不是全部。“正确”的解决方案如下所示:

但这需要在我的 HTML 文件顶部添加一个 Dojo XMLNS 声明,这意味着我需要找到一份 Dojo XMLNS DTD 的副本。我怀疑我需要将它复制到我的服务器并在那里托管,因为我已经扩展了 Dojo 工具包。Dojo 甚至会采用范围版本吗?

0 投票
1 回答
2061 浏览

dojo - 从 AOL 加载 Dojo 库并从本地加载小部件代码?

我刚开始学习道场。我按照一个站点 Widget 示例使用了一些不同的方式来加载 Dojo 库。我喜欢使用 AOL 引用来加载 dojo.js,如下所示:

并将我的小部件代码保存在本地网络服务器中,如下所示:

其中widgetExample.js包含我的小部件类代码,而test.html是我的测试页面。我收到的错误消息是:“未捕获的异常:无法加载跨域资源:myWidget.widgetExample ...”。我不确定是否必须在本地加载 dojo 包?我真的很喜欢将 dojo 库包按原样分开或从 AOL 加载,并且只将我自己的代码放在本地路径中。我试图用谷歌搜索不同的域加载、baseScriptUrl 和 moduleMapping?还是想不通。感谢您提供任何详细说明(如果有)。

0 投票
3 回答
11159 浏览

javascript - 道场中的密码检查

我想使用 Dojo 检查两个密码是否相同。

这是我拥有的 HTML:

<form id="form" action="." dojoType="dijit.form.Form" />

<p>Password: <input type="password"
name="password1"
id="password1"
dojoType="dijit.form.ValidationTextBox"
required="true"
invalidMessage="Please type a password" /
></p>

<p>Confirm: <input type="password"
name="password2"
id="password2"
dojoType="dijit.form.ValidationTextBox"
required="true"
invalidMessage="This password doesn't match your first password" /
></p>

<div dojoType="dijit.form.Button" onClick="onSave">Save</div>

</form>

这是我到目前为止的 JavaScript:

var onSave = function() {
if(dijit.byId('form').validate()) { alert('Good form'); }
else { alert('Bad form'); }
}

谢谢你的帮助。我可以在纯 JavaScript 中做到这一点,但我试图找到 Dojo 的方式来做到这一点。

0 投票
1 回答
802 浏览

dojo - 某些键不适用于 Dojo 小部件

我尝试按照mindtrove 博客的小部件示例。这是示例演示页面

这个小部件有一些问题:左右箭头键,以及 home 和 end 键在 Firefox 中不起作用(我使用的是 Mac),如果我在 Safari 中加载示例页面,任何键都不起作用。我不确定这只是我的 Mac 的问题还是根本无法在 Mac 上运行。

以下是小部件 Rating.js 中的一些代码:

据我所知,这个函数事件中的所有键都应该起作用。我不确定为什么有些不起作用。顺便说一句,我发现一件有趣的事情:对于 Firefox 中的那些键(左、右、home 和 end)键,如果我按住 shift 键,它们就会起作用。

我不确定问题是小部件代码中的错误还是 Mac 的 Dojo 错误?

0 投票
5 回答
2463 浏览

javascript - iPhone 的极简可缓存 jQuery/javascript 库?

鉴于iPhone 对文件缓存的 25k 限制,我想知道是否对 iPhone 优化的 javascript 库感兴趣,该库使缓存成为顶级目标。由于它只是 iPhone,它可以摆脱大多数跨浏览器的垃圾并依赖于 safari 的特定功能,希望减少一些周长并保持 25k。

John Resig 简要讨论了这一点,但似乎主要是为了驳回它。他确实提到:

如果您对将 jQuery 分解成小块感到特别兴奋,您可以从 SVN 中获取各个部分并构建自定义副本。

有人试过吗?

Dojo 实现了一个似乎依赖于延迟加载的 6k 版本。我主要是 jQuery 用户,所以我没有尝试过,但它看起来很有趣。

总体而言:您如何看待 safari/iphone 特定的 JavaScript 库,它实现了 jQuery(或您最喜欢的其他库)中使用率最高的 90% 的 API?

0 投票
1 回答
3203 浏览

ajax - 任何人都可以解释这个 Struts 2 AJAX 奇怪的刷新行为吗?

我们的 JSP 中有以下代码(如下所列)。我们看到在hrefdiv中配置的操作id=pwcercontainer被调用了两次。无法弄清楚究竟是为什么。sx:div label="Admin Record Deployment"用普通的非 struts div替换包含会导致该操作仅被调用一次。我们在文档中看不到任何sx:div解释此行为的内容。

有谁知道这方面的事情或有类似的经历吗?

谢谢。NCF

0 投票
10 回答
1642 浏览

javascript - 为什么切换到 DojoX 网格会导致 JavaScript“无法将焦点移至控制”错误?

问题
我在一个页面上有许多 Dojo 组件。当用户尝试从类似输入的组件切换到类似网格的组件时,我收到 JavaScript“无法将焦点移动到控件”错误。用户群使用 IE6。

解决方案
DojoX Grid 布局中的第一个元素不能隐藏。如果它被隐藏,您会收到一个 JavaScript“无法将焦点移动到控制”错误。为了解决这个问题,我添加了一行 # 来显示。见下文。

0 投票
1 回答
2757 浏览

select - 道场网格中的多选组合框

我已经实现了自定义的单选组合框作为 dojo 网格中的单元格元素。有人可以告诉我如何实现多选组合框吗?

0 投票
1 回答
4384 浏览

javascript - 选项卡的 Dojo 参数

我在使用 Dojo 文档时遇到了问题(像往常一样)。
在他们的TabContainer API上,他们将第二个参数列为一个名为“params”的对象,但他们从不说你可以在这个 params 对象中实际放入什么。我可以指定宽度吗?高度?我是否指定要成为容器内选项卡的 div 的 ID?

如果我想指定要由 Dojo 解析器解析的选项卡容器,也没有指定在 HTML 中放入哪些属性。我找到了以下示例,可以让您放置标题、选定和可关闭选项。还有别的事吗?

0 投票
3 回答
5620 浏览

ajax - Struts 2 & Dojo 文件太重,影响网站性能。有什么补救措施吗?

嗯.. 我们已经使用 struts2 ajax 功能开发了一个 j2ee 应用程序。我们发现 dojo 的实现非常缓慢。我们做了以下事情: 1. dojo 库的自定义构建。(将 dojo.js 从 240kb 增加到 350kb) 2. 从 struts jar 中取出所有静态内容并将其保存在外面。

性能显着提高。但它仍然很重,你可以猜到 350kb 大小..

struts2 ajax 应该这么重吗?还是有更轻的实现可用?


编辑:我在我的应用程序中使用了 Firebug 和 YSlow。下面提到了一些极大地改善了我的情况的变化:

  1. dojo 的自定义构建(减少了 I/O 的数量)
  2. 将静态文件移出 Struts jar(帮助很大)
  3. 调整您的服务器以 gzip 响应(将响应大小减少到 1/3)
  4. 减少您网站上的图片数量。(这很明显)

将继续更新进一步的变化..