小编Kon*_*nin的帖子

检查Chrome中是否存在具有确切ID的Tab的最佳方法

有时候选项卡ID存储在一个变量中,你需要检查选项卡是否仍然存在,然后再对其进行操作(因为用户可以随时关闭选项卡).我找到了这个解决方案:

chrome.tabs.get(1234567, function(tab) {
  if (typeof tab == 'undefined') {
    console.log('Tab does not exist!');
  }
});
Run Code Online (Sandbox Code Playgroud)

它有效,但它有很严重的缺点.它将错误消息写入控制台,如下所示:

tabs.get期间出错:没有标识为1234567的标签.

这也不例外.所以try/catch无济于事.这只是控制台中的一条消息.

有任何想法吗?

更新:此错误现在看起来像"运行tabs.get时未检查runtime.lastError:没有标识为1234567的选项卡".

javascript google-chrome-extension

17
推荐指数
1
解决办法
7425
查看次数

检查用户是否在亚像素精度时代滚动到底部

我找到了经典的MDN 公式来检查内容是否已滚动到底部,

element.scrollHeight - element.scrollTop === element.clientHeight
Run Code Online (Sandbox Code Playgroud)

不再适用于所有情况。例如,如果您将MDN 上的演示页面的内容比例更改为大于 100%,您将不会获得正确的结果。发生这种情况是因为现在浏览器在元素上使用亚像素精度。特别scrollTop是现在不是 100% 的比例是小数值。实际上,问题的发生是因为===上面公式中的符号。

那么最简单但仍然可靠的解决方案是什么?

javascript dom

7
推荐指数
1
解决办法
1493
查看次数

HTML5文件系统:如何撤销授予的配额?

window.webkitStorageInfo.requestQuota()用来获取磁盘配额.一切正常,但我不能撤销已经为调试目的授予的配额.似乎没有API.而且我无法通过Chrome界面找到它是如何完成的.我找到了这个链接:chrome://quota-internals/但它只提供了一个只读信息.我正在开发chrome扩展,甚至卸载/安装它也无济于事.谁知道如何重置站点(或扩展)甚至整个存储的本地磁盘存储设置?

javascript html5 google-chrome google-chrome-extension

4
推荐指数
1
解决办法
618
查看次数

RegexBuddy中的“步骤”是什么?

“调试”选项卡上的RegexBuddy显示了如何逐步执行正则表达式。但是这些步骤到底意味着什么?每个步骤背后都需要进行哪些操作?

regex regexbuddy

2
推荐指数
1
解决办法
857
查看次数

检查React组件的类型

我需要遍历组件的children并且仅在子组件为特定类型时才做一些事情:

React.Children.forEach(this.props.children, child => {
    if (...) {
        console.log('Suitable component!');
    }
});
Run Code Online (Sandbox Code Playgroud)

reactjs

2
推荐指数
3
解决办法
2528
查看次数