我正在创建一个gulp任务,在某些情况下可能会失败.
gulp.task('favicon', function () {
try {
require('child_process').execSync('icotool --version');
} catch( e ) {
var err = new Error( 'Unix bash and icotool required for generating favicon' );
throw err;
}
return gulp.src('', {read: false})
.pipe(shell([
'./generate-favicon.sh'
]));
});
Run Code Online (Sandbox Code Playgroud)
当通过gulp运行我的任务并运行错误时,错误将显示相当丑陋.我想以某种方式呈现错误,例如jslint gulp-util's PluginError.
它实际上只是创建一个PluginError并抛出它,但这似乎不太正确.另一个不太好的解决方案是设置
err.showStack = false;
Run Code Online (Sandbox Code Playgroud)
至少有一个更好的错误输出.一个gulp.task.Error会很好.
当svg我的文档中有多个内联时,我注意到即使在另一个内联中定义时,using <use xlink:href="#id"/>也会使用引用第一个已定义的元素。id="id"svg
我以某种方式假设id/ xlink:href范围只是/ 范围,svg但似乎是整个文档-在考虑它时确实有意义。
示例(第二个svg中的红色方块应为绿色):
svg {
border: 1px solid gray;
}Run Code Online (Sandbox Code Playgroud)
<html><head></head><body>
<svg width="50" height="50" viewBox="0 0 50 50">
<defs>
<rect id="foo" width="25" height="25" fill="red" />
</defs>
<use xlink:href="#foo" />
</svg>
<svg width="50" height="50" viewBox="0 0 50 50">
<defs>
<rect id="foo" width="25" height="25" fill="green" />
<rect id="bar" width="25" height="25" fill="blue" />
</defs>
<use xlink:href="#bar" x=25 />
<use xlink:href="#foo" /> <!-- Not green but red! -->
</svg>
</body></html> …Run Code Online (Sandbox Code Playgroud)使用 HTML5,在 IE11/Edge 中,<iframe sandbox></iframe>除了使用srcurl之外,还有什么方法可以用 HTML填充沙盒 iframe ( )吗?我正在寻找一种srcdoc适用于所有其他现代浏览器的解决方案。
根据 Microsoft 的说法,src与数据 URI一起使用不是一个选项,因为它“不能用于[来]填充框架或 iframe 元素”。令人惊讶的是,这在 Edge 中对我有用,但仅适用于少于 4096 个字符的数据 URI。
我找到的所有其他选项,例如在iframe srcdoc 的替代方案中?和Html 代码作为 IFRAME 源而不是 URL不适用于沙盒 iframe。
我注意到在我的网站上,Google Chrome 开发人员工具“性能监视器”显示的数字与通过getEventListeners()和确定的数字不同document.querySelectorAll('*')。
正如您在下面的屏幕截图中看到的,控制台中计算的事件数量明显高于 Chrome 开发工具中规定的数量,而 DOM 节点的数量则明显较低。
知道如何解释吗?
function countDomEventListeners (elements) {
return Array.from(elements).reduce((count, node) => {
const listeners = getEventListeners(node)
for (var eventName in listeners) {
count += listeners[eventName].length
}
return count
}, 0)
}
elements = document.querySelectorAll('*')
console.log('DOM Nodes:', elements.length)
console.log('DOM event listeners:', countDomEventListeners(elements))
Run Code Online (Sandbox Code Playgroud)
我的问题基于主题 \xe2\x80\x9credefining a single ruby method on a single instance with a lambda\xe2\x80\x9d 的答案。
\n\n如何重新定义方法并在新方法中调用原始定义?some_object\ 类的其他实例不应受到影响。
def some_object.some_method\n # call original `some_object.some_method` here\n do_something_else\nend\nRun Code Online (Sandbox Code Playgroud)\n html ×2
dom ×1
dom-events ×1
gulp ×1
iframe ×1
javascript ×1
ruby ×1
sandbox ×1
scope ×1
svg ×1