兼容chrome68+
parent
d0a4903892
commit
9f736cd5b6
17
README.md
17
README.md
|
@ -1,4 +1,19 @@
|
||||||
### DNS 缓存清除
|
## DNS 缓存清除
|
||||||
> 一键清除chrome的DNS缓存, 并刷新当前选项卡。 web开发的利器。
|
> 一键清除chrome的DNS缓存, 并刷新当前选项卡。 web开发的利器。
|
||||||
|
|
||||||
|
|
||||||
|
### 更新日志
|
||||||
|
|
||||||
|
#### 2018/07/29 - v0.3.0
|
||||||
|
* 兼容chrome 68+
|
||||||
|
* chrome 68+之后, 谷歌移除了原清除DNS的API方法, 所以只能通过打开`chrome://net-internals/#dns`页面, 进行js注入的方式来清除缓存。
|
||||||
|
* 但是要注入`chrome://net-internals/#dns`页面, 需要额外的授权。
|
||||||
|
|
||||||
|
> 授权方法:
|
||||||
|
>> 1. 打开 `chrome://flags/`
|
||||||
|
>> 2. 找到 `chrome:// URLs`, 并将其设置为`Enabled`
|
||||||
|
>> **快速导航地址: ** [授权设置地址](chrome://flags/#extensions-on-chrome-urls)
|
||||||
|
|
||||||
|
|
||||||
|
#### 2018/07/07 - v0.2.0
|
||||||
|
* 首版, 支持chrome 67-; 不需要额外设置任何内容, 即装即用。
|
|
@ -5,8 +5,40 @@
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
chrome.browserAction.onClicked.addListener(function(tab) {
|
chrome.browserAction.onClicked.addListener(function(ctab) {
|
||||||
chrome.benchmarking.clearHostResolverCache()
|
let cid = ctab.id
|
||||||
chrome.benchmarking.closeConnections()
|
let tid = null
|
||||||
chrome.tabs.executeScript(tab.id, { code: 'location.reload()' })
|
let code = `
|
||||||
|
let script = document.createElement('script')
|
||||||
|
script.textContent = \`
|
||||||
|
chrome.send('clearHostResolverCache')
|
||||||
|
chrome.send('flushSocketPools')
|
||||||
|
\`
|
||||||
|
document.body.appendChild(script)
|
||||||
|
`
|
||||||
|
let callback = function() {
|
||||||
|
chrome.tabs.remove(tid)
|
||||||
|
chrome.tabs.executeScript(cid, { code: 'location.reload()' })
|
||||||
|
}
|
||||||
|
|
||||||
|
chrome.tabs.query({}, function(tabs) {
|
||||||
|
let done = false
|
||||||
|
for (let i = 0, tab; (tab = tabs[i++]); ) {
|
||||||
|
if (/^chrome:\/\/net-internals/.test(tab.url)) {
|
||||||
|
tid = tab.id
|
||||||
|
chrome.tabs.executeScript(tab.id, { code }, callback)
|
||||||
|
done = true
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!done) {
|
||||||
|
chrome.tabs.create(
|
||||||
|
{ url: 'chrome://net-internals/#dns', active: false },
|
||||||
|
function(tab) {
|
||||||
|
tid = tab.id
|
||||||
|
chrome.tabs.executeScript(tab.id, { code }, callback)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
"name": "DNS Flush",
|
"name": "DNS Flush",
|
||||||
"description": "一键清除chrome的DNS缓存, 并刷新当前选项卡。 web开发的利器。",
|
"description": "一键清除chrome的DNS缓存, 并刷新当前选项卡。 web开发的利器。",
|
||||||
"version": "0.2",
|
"version": "0.3",
|
||||||
"author": "yutent",
|
"author": "yutent",
|
||||||
"icons": {
|
"icons": {
|
||||||
"64": "icon64.png",
|
"64": "icon64.png",
|
||||||
|
@ -18,6 +18,7 @@
|
||||||
},
|
},
|
||||||
"permissions": [
|
"permissions": [
|
||||||
"tabs",
|
"tabs",
|
||||||
|
"chrome://net-internals/#dns",
|
||||||
"*://*/*"
|
"*://*/*"
|
||||||
],
|
],
|
||||||
"homepage_url": "https://doui.cc"
|
"homepage_url": "https://doui.cc"
|
||||||
|
|
Loading…
Reference in New Issue