微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过JS,JQ或EXTJS脚本打开Synology-NAS DSM上的菜单选项?

如何解决如何通过JS,JQ或EXTJS脚本打开Synology-NAS DSM上的菜单选项?

我正在尝试使用JavaScript自动化Synology NAS中的某些条目。 基于Web的操作系统DSM似乎是使用Ext JS 3.X创建的。 与“主菜单”相反,无法通过发送JS或JQ“单击”事件来打开“选项”菜单。 “选项”菜单仅响应手动单击。

选项菜单

enter image description here

菜单

enter image description here

Firefox检查器

enter image description here

```
// JS
document.getElementById("ext-gen184").click() // Element-ID Main Menu,works.
document.getElementById("ext-gen33").click()  // Element-ID Options Menu,works not!
```
```
// JQ
$("ext-gen184").click() // Element-ID Main Menu,works
$("ext-gen33").click()  // Element-ID Options Menu,works not!
```
```
// ExtJS
var elm = Ext.ComponentMgr.get("ext-gen33")
```
returns undefined

两个元素的模糊和聚焦事件都通过此函数存储:

```
function I(M) {
  if (!Ext) {
    return
  }
  M = Ext.EventObject.setEvent(M);
  var L;
  if (D.delegate) {
    if (!(L = M.getTarget(D.delegate,E))) {
      return
    }
  } else {
    L = M.target
  } if (D.stopEvent) {
    M.stopEvent()
  }
  if (D.preventDefault) {
    M.preventDefault()
  }
  if (D.stopPropagation) {
    M.stopPropagation()
  }
  if (D.normalized === false) {
    M = M.browserEvent
  }
  J.call(K || E,M,L,D)
}
```

我是JS的新手。任何帮助将不胜感激。

解决方法

DSM 基于 ExtJS 3.4 框架的扩展。

据我所知,这个扩展没有记录,但你可以在这里找到一些关于为 DSM 编写 ExtJS 应用程序的部分信息:

https://github.com/DigitalBox98/SimpleExtJSApp

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。