可能重复:
Chrome 扩展延迟条件
我是扩展的初学者,通过从这里和那里收集代码,我创建了一个简单的代码,它收集选项卡的 url(适用于特定网站)并使用 ajax 将其发送到我的服务器以便将其存储在我的数据库中。我想要做的是添加一个计时器,如果上一次点击发生在不到 5 秒的时间内,浏览器按钮将被禁用(或什么都不做)。
下面是扩展的结构:
显现:
{
"name": "The name",
"icons": { "16": "Big.png",
"48": "Big.png",
"128": "Big.png" },
"version": "1.0",
"manifest_version": 2,
"description": "and the description",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": ["tabs", "<all_urls>"]
}
popup.js:
chrome.tabs.getSelected(null,function(tab) {
var Mp=tab.url
if(Mp=='http://www.examplesite.com')
{
var xhr=new XMLHttpRequest();
var Params;
xhr.open("POST", "http://myserver.com/post_from_extension.asp", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
Params='Url=' + tab.url;
xhr.onreadystatechange=function()
{
if(xhr.readyState==4)
{
message.innerHTML=xhr.responseText;
}
}
xhr.send(Params);
}
else
{
message.innerHTML='<span style="font-family: Segoe UI, Tahoma;color: #f00">This is not a valid url</span>';
}
});
popup.html
<!DOCTYPE html>
<html style=''>
<head>
<script src='popup.js'></script>
</head>
<body style="width:400px;">
<div id='message'><span style="font-family: Segoe UI, Tahoma;color: #00f">Sending request</span></div>
</body>
</html>
作为一个附带问题,如果不使用 Ajax,是否有任何其他方法可以将 url 发布到我的数据库中?
谢谢你读我。