我可以在GitHub的其他一些要点上提出拉取请求吗?
我知道我拥有的要点的fork,clone和commit工作流程.我想知道我是否可以请求用我的前叉更新别人的要点.
我正在寻找一种简单而抽象的方法来克隆或重新调度DOM事件.我对克隆DOM节点不感兴趣.
我已经尝试了一下,阅读了DOM Events规范,但我没有找到明确的答案.
理想情况下,我正在寻找一些直截了当的东西:
handler = function(e){
document.getElementById("decoy").dispatchEvent(e)
}
document.getElementById("source").addEventListener("click", handler)
Run Code Online (Sandbox Code Playgroud)
当然,这个代码示例不起作用.有一个DOM例外,说明事件当前正在调度 - 显然.
我想避免手动创建新事件document.createEvent(),初始化它们并调度它们.
这个用例有一个简单的解决方案吗?
我想创建一个独立的browserify包,它将导出的对象直接附加到window对象,而不是嵌套在附加到的包装器对象下window.
这样做,browserify忽略窗口:
browserify main.js --standalone window > bundle.js
Run Code Online (Sandbox Code Playgroud)
该main.js文件如下所示:
var ModuleA = require('./module-a.js');
var ModuleB = require('./module-b.js');
module.exports = {
ModuleA: ModuleA,
ModuleB: ModuleB
}
Run Code Online (Sandbox Code Playgroud)
我希望两个模块直接在全局命名空间中公开:window.ModuleA和window.ModuleB.
该文件没有提供明显的解决方案.
你能帮我吗?
我已经完成了我的研究并且在这方面挣扎了一段时间,但我需要你的帮助.
我正在构建Chrome DevTools扩展程序.它应该从"Elements"面板传递当前选定的元素,作为对内容脚本中定义的JS对象的引用.
重要的是我将引用传递给所选元素,或者从内容脚本中识别元素的其他方式.
我了解Chrome DevTools中"孤立世界"的工作流程.我也理解扩展页面,后台页面和内容脚本之间的消息传递.这只发生在JSON原语中,因此没有JS范围传递.
如何将devtools Elements面板中选定的元素传递给检查页面中的内容脚本?
编辑
这是我目前所知道的:
获取对所选元素的引用:
chrome.devtools.inspectedWindow.eval("(" + function(){ console.log($0) }.toString() + ")()")
Run Code Online (Sandbox Code Playgroud)
该函数表达式将在被检查页面的上下文中运行,而不是在devtools扩展的上下文中运行,而不是在内容脚本的"孤立世界"的上下文中运行.我不相信可以使用闭包传递对不同上下文的引用.
$0无法返回对所选DOM元素的引用,因为由于循环引用,无法将其序列化为JSON.
该chrome.devtools命名空间是不可用的devtools扩展页之外.的$0引用不能在所评估的表达式之外使用chrome.devtools.inspectedWindow
解决方法
作为一种解决方法,我选择使用共享DOM来使用数据属性标记所选元素,并使用它在内容脚本的上下文中重新选择它.消息传递用于传递数据属性标记.
这是代码的简化版本:
在devtools扩展页面中:
// setup a communication port
port = chrome.runtime.connect({name: "devtools"});
chrome.devtools.panels.elements.onSelectionChanged.addListener(function(){
// expression to run in the context of the inspected page
var expression = "(" + mark.toString() + ")()"
// evaluate the expression and handle the result
chrome.devtools.inspectedWindow.eval(expression, dispatchToContentScript)
});
function …Run Code Online (Sandbox Code Playgroud) 我的Chrome 网上应用店中有一个扩展程序正在等待审核。我发现它有一个重大错误。
开发人员仪表板不允许上传更新的包,而另一个包正在等待审核。
如何撤回等待审核的程序包,以便上传已修复错误的更新程序包?
javascript ×2
browserify ×1
dom ×1
events ×1
gist ×1
git ×1
github ×1
pull-request ×1
webkit ×1