无法使用Chrome'删除URL;的历史API
Cannot delete URLs with Chrome's history API
我正在使用Chrome的历史API进行Chrome扩展,以从我的历史记录中删除某些URL。这是迄今为止的代码:
document.addEventListener('DOMContentLoaded', function() {
var form = document.getElementById('form'),
query = document.getElementById('query')
form.onsubmit = function(e) {
e.preventDefault()
// alert(chrome.history) // [object Object]
// alert(chrome.history.deleteUrl) // function () { [native code] }
// alert(query.value) // whatever I typed
chrome.history.deleteUrl(query.value)
}
query.focus()
})
(form
是我弹出窗口中的表单,query
是您可以在其中键入的文本框。)
正如您从三个alert
中看到的那样,这些变量都很好。然而,代码实际上并没有从历史记录中删除URL。当我检查(在chrome://history/
中)时,URL仍然存在。
这是我的manifest.json
,如果重要的话:
{
"manifest_version": 2,
"name": "UnVizit",
"description": "Mark a link as '"not visited'" easily",
"version": "0.1.0",
"permissions": [
"history"
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
}
}
我使用的是Chrome的28.0.1500.95 (Official Build 213514) m
版本。
您不应该将字符串传递给chrome.history.deleteUrl
方法,而应该将一个具有键url的对象传递给它。如果你检查弹出窗口,你会看到以下错误:
错误:调用表单历史记录.deleteUrl(字符串)与定义历史记录不匹配。deleteUrl(对象详细信息,可选函数回调)
总之,更改
chrome.history.deleteUrl(query.value)
至
chrome.history.deleteUrl({ url: query.value });
相关文章:
- 谷歌应用脚本中的 UrlFetchApp.fetch 删除 url 参数
- JavaScript删除URL数组中字符之前的所有内容
- 通过javascript从浏览器历史记录中删除URL
- 删除 URL 哈希字符串中的前几个字符
- 带有 MVC asp.net 角度路由删除 URL 上的哈希 #
- 如何使用 JavaScript 删除 URL 的一部分
- 删除 URL 中的锚点
- 使用 jQuery 和 push State 从 URL 中删除 URL 参数
- 如何使用 jQuery 从 URL 中删除 URL 的一部分
- jQuery 验证插件 - 删除 URL 的“http://”要求
- JS/HTML5 从 url 中删除 url 参数
- 使用 jquery 更改 URL 参数或删除 URL 的某些部分
- 删除 URL 查询字符串中的加号 (+)
- 正在删除URL参数
- 删除URL开头的字符串
- 无法使用Chrome'删除URL;的历史API
- Jquery-清除或删除URL参数
- 删除url的搜索部分
- 我如何在Js中删除Url中的所有目标
- 使用JavaScript删除URL的参数