Bootstrap插件创建选项按钮与任意js
Bootstrap addon create options button with arbitrary js
我从Bugzilla发现你可以在安装时设置你的选项url。将RDF转换为任意js,它将运行得非常好。唯一的问题是,窗口停用,就好像一个看不见的对话框在它上面打开,无论如何你不能关闭它。
例如:在我的插件这里:简单的测试用例,在启动时,它只是提醒启动,在插件管理器中,它会显示选项按钮,点击它会做一个notifyObserver
,但然后它会进入所有对话模式:GitHub:: Noitidart/PortableTester
你可以用GitHubExtensionInstaller插件直接从repo安装这个插件
代码在my optionsurl:
<em:optionsURL>
javascript:Components.utils.import('resource://gre/modules/Services.jsm');Services.obs.notifyObservers(window, 'hellothisisyourcaptainspeaking', 'options')
</em:optionsURL>
我想避免进入这个不可见的对话框模式后,点击选项按钮。或者如果我们不能阻止它,我想添加一些代码到optionsurl来退出这个锁定模式。
在这一点上,我已经尝试了这个代码,它没有工作:
javascript:
Components.utils.import('resource://gre/modules/Services.jsm');
Services.obs.notifyObservers(window, 'hellothisisyourcaptainspeaking', 'options');
var DOMWin = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIWebNavigation).QueryInterface(Components.interfaces.nsIDocShellTreeItem).rootTreeItem.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindow);
var utils = DOMWin.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindowUtils);
utils.leaveModalState();
这可以在这里看到:GitHub:: Noitdart/PortableTester提交显示试图离开这个对话模式
你不能阻止Add-ons Manager打开一个模态对话框。但是,您可以很容易地关闭它,只需将window.close()
添加到命令中。这假定你的代码是在模态对话框的上下文中运行的——如果不是,那么Services.wm.getMostRecentWindow(null).close()
应该这样做。
javascript:
URL很尴尬,这种方法将来也可能会中断。您应该考虑使用包含JavaScript文件的最小XUL对话框(没有任何样式表,因此它也是不可见的)。然后,您将在适当的脚本文件中编写代码,而不是将其全部压缩到install.rdf
中的一行。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- Three.js立方体-旋转到任意一侧
- 一个控制器如何在 Ember .js 中观察任意控制器/模型上的事件
- 车把.js - 在表达式中连接任意字符串
- 锤.js:如何用任意数量的/多个手指检测捏合
- 任意 JS/HTML 上传的 Web 安全性
- D3.js强制布局:显示任意节点的根路径
- JS(jQuery)-如果条件-任意数字
- d3.js在从对象数组中绘制任意数量的线时的唯一颜色
- Three.js将球体旋转到任意位置
- HTML5/JS/jQuery:对于无效的输入,将不同的(任意的)元素标记为无效
- Bootstrap插件创建选项按钮与任意js
- (JS)使用函数来添加任意大小数组的值
- 在任意JS函数上设置事件处理程序
- 从RequireJS'中排除任意文件;s r.js优化并异步加载
- 如何获得一周的开始和结束给定的任意日期时间在周中使用JS
- 如何在JS/chrome API中创建任意DOM对象的onClick侦听器
- 关闭所有 Angular JS 引导弹出窗口,单击屏幕上的任意位置
- 使用JS以任意顺序搜索单词