问题标签 [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.
javascript - 为什么 FF3 说“获取属性 HTMLDivElement.tagName 的权限被拒绝”?
当我通过 FireFox 3 运行它时:
并单击内联可编辑文本,对其进行更改,然后单击其外部,FF 表示:“Permission denied to get property HTMLDivElement.tagName”
Firebug 调试器在以下行中断,因为 e.relatedTarget 为空:
尝试{ e.relatedTarget.tagName; } 捕捉(e2){ 返回;}
我能做些什么来解决这个问题?
javascript - JavaScript 通过代码模拟右键单击
我正在使用 Selenium 编写一些 UI 测试,并且我有一个 JavaScript Tree 控件,使用 Dojo 工具包。
我已经使用 Dojo 提供的示例为树的每个节点实现了一个上下文菜单,但是我需要 Selenium 测试来“调用”树节点上的右键单击,但我无法让它工作。测试根本不通过 JavaScript 模拟右键单击事件,并且上下文菜单不显示。
有没有人有过使用 Dojo 和 Selenium 调用右键单击上下文菜单的经验?或者对如何做有任何想法?
dojo - 您使用 Dojo 小部件的最终开发环境是什么?
我是使用 Dojo 库的新手,我想知道:在 Dojo 小部件上工作的最终开发环境是什么?
我希望至少有 JavaScript 语法检查,以及对标准 Dojo 小部件和函数的代码完成支持。
什么样的开发环境——无论是免费的还是购买的——你对这样的工作最满意?
button - Dojo Toolbox:关闭对话框
有没有办法在dojo对话框中设置一个按钮并让它关闭它所在的对话框?
将 dijits 放入 dijits 是行不通的,我不敢相信没有办法做到这一点。
dom - Dojo addOnLoad,但 Dojo 是否已加载?
我遇到了看似鸡和蛋的问题,并且有我认为合乎逻辑的解决方案。但是,我突然想到其他人一定遇到过类似的事情,所以我想我会把它浮出水面给大众。
情况是我想使用 dojo 的 addOnLoad 函数来排队一些回调,这些回调应该在 DOM 在客户端完成渲染后执行。所以我正在做的事情如下:
现在,问题是我似乎在将整个 Dojo 库下载到浏览器之前调用了 dojo.addOnLoad。这在某种程度上是有道理的,因为内联 SCRIPT 内容应该在整个 DOM 加载之前执行(并且触发正常的正文 onload 回调)。
我的问题是 - 我的方法是否合理,或者注册一个普通/标准主体 onload JavaScript 回调来调用一个函数是否更有意义,该函数与每个 dojo.addOnLoads 在 SCRIPT 块中所做的工作相同。当然,这引出了一个问题,如果您不能保证 Dojo 库会在使用库之前被加载,为什么还要使用 dojo.addOnLoad?
希望这种情况对我以外的人有意义。似乎其他人可能遇到过这种情况。
想法?
最好的问候,亚当赖斯
javascript - dojo.require 问题
我在配置我的 dojo 初始安装以正确包含小部件框架时遇到问题。
按照我看到的大部分代码,包括 dijit 应该是这样的:
就是这样。不幸的是,这似乎不起作用。
使用它可以正确初始化小部件,但是标准 dijit 方法中有一些奇怪的行为让我认为我做错了:
是否有我缺少的配置 dojo 的元素?这些文件都按照它们在 1.2.3 发行版中的状态放置在另一个 javascript 文件夹下。
json - FilteringSelect 与 QueryReadStore:选择不粘
我正在使用由 adijit.form.FilteringSelect
支持的 adojox.data.QueryReadStore
以允许用户选择一个区域(想想“自动完成”机制)。在用户输入的每个字符上,QueryReadStore
都会向服务器发送一个请求,等待匹配区域的 json 列表(带有关联的 ID)。当显示足够短的列表时,用户选择了所需的项目。[诚然,每次击键查询并不是最有效的模式,但现在已经足够了。]
意外行为:在一些罕见但特定的场合,用户做出的选择“不坚持”。例如,如果用户键入“ can
”,她会按顺序看到以下选项:
如果她Canada
在其中选择“”,dijit 关闭下拉选择,正确选择了她的选择。但是当用户离开该字段时,选择切换到“ Atlantic Canada
”!
这种奇怪的现象系统地发生在少数特定地区。(起初,我认为这些行为不端的地区之间的共同因素是它们的名称包含重音字符或连字符,但加拿大的例子显然不是这样。到目前为止,我还没有发现一个规律的模式。)
我在任何地方都没有发现任何类似问题的提及。我非常愿意进行调查,但是,由于我是 dojo 的新手,在我求助于深入研究 dojo 的代码之前,我真的很感激指点:我应该首先看哪里?有哪些可能导致这种行为的问题?我可以排除某些假设吗?我应该如何最好地使用控制台(或 Firebug)来深入了解这一点?等等
dojo 1.1.1 和dojo 1.2.3 都会出现此问题。
这是(程序化)生成的FilteringSelect
:
编辑(2009/02/18):附加细节
按照 damelin 的回答,我想了解FilteringSelect
这种情况的看法。假设我将日志记录功能连接到FilteringSelect
的事件onChange
并且onBlur
,我得到以下逐个播放序列:
- 我单击该字段并输入:
can
- 出现 6 个区域的下拉列表(如上所列)
- 使用键盘光标,我将列表向下移动到“
Canada
”(这是 id 为 1 的区域) 我按下
/li>Enter
(从而选择商店的一个项目)。下拉列表现已消失,文本“Canada
”出现在字段中。此时,第一个事件被触发,记录如下:我按 离开场地
/li>tab
。在这里,两个事件一个接一个地被触发,顺序如下:
(区域 246 是Atlantic Canada
。)现在这很有趣......当我离开该字段时(onBlur),Canada
仍然是选定的值。神秘的交换在那之后才发生……
javascript - 使用 dojo 访问远程 CSV 时出现问题
我正在尝试创建一个网站,在其中将我的数据托管在 google 电子表格上,并使用 dojo 在其浏览器中向用户显示数据。
但是,我收到了错误
当浏览器遇到:
而用本地存储的相同 CSV 副本替换它可以正常工作。
从我的谷歌搜索告诉我,这是由于现代浏览器的安全限制试图保护您免受跨站点脚本攻击。当然,为了我的页面,我想要某种方式能够将该域“列入白名单”。
有什么建议么?
完整的 HTML 代码是
提前致谢,
javascript - dojo.xd.js 无法识别 dojox.data.CsvStore
当我使用诸如
我得到错误
对于诸如
但是如果我使用从本地安装的 dojo 导入,错误就会消失,例如
我真的希望能够使用 CDN 托管的 dojo 安装。DojoX 库和 dojo.xd.js 之间是否存在已知问题?
提前致谢,
动漫
PSdojo.require("dojox.data.CsvStore");
声明已经到位。
PPS 完整的“工作代码”如下。用 CDN 中的引用替换 CSS 和 JS 引用会破坏它。
memory-management - 使用道场后如何清理?
我使用 dojo 编写了一个应用程序,它在其生命周期内分配了大量数据。有没有办法可以确保完成后所有内存都已释放?
有没有dojo.data.destroyAllStores()
可以与<body onunload>
标签一起使用的方法?
谢谢。