我正在构建一个chrome扩展,它将存储用户按下的所有键,并将这些键存储到目录中的文本文件中。
我想跟踪用户按键,无论他搜索什么,或者我希望将其存储到文本文件中。
现在我已经将关键字存储在一个数组中,并在需要时提醒它。阵列没有得到警报。
这是我的JavaScript文件:
var your_array = [];
document.addEventListener('DOMContentLoaded', function() {
var checkPageButton = document.getElementById('checkPage');
document.onkeydown = function(e) {
var keyPress;
if (typeof event !== 'undefined') {
keyPress = event.keyCode;
} else if (e) {
keyPress = e.which;
}
your_array.push(String.fromCharCode(keyPress));
return false; // Prevents the default action
};
checkPageButton.addEventListener('click', function() {
alert(your_array);
die;
}, false);
}, false);
...这就是我的HTML文件:
<!doctype html>
<html>
<head>
<title>Storing Keyword</title>
<link rel='stylesheet' href='popup.css' />
<script src="popup.js"></script>
</head>
<body>
<h3>I can store your keywords</h3>
<button id="checkPage">Really Show Me !</button>
</body>
</html>
这是我的JSON清单文件:
{
"manifest_version": 2,
"name": "Keyword store",
"description": "This extension will analyze a page using GTmetrix",
"version": "1.0",
"browser_action": {
"default_icon": "avator/icon.png",
"default_popup": "popup.html"
},
"permissions": [
"activeTab"
]
}
问题在于警报出现,但会在几毫秒内自动关闭。
如果有人知道如何在文本文件中存储密钥,请让我知道这一点......
谢谢。
答案 0 :(得分:0)
问题在于警报出现,但会在几毫秒内自动关闭。
Chrome弹出广告无法在焦点丢失后继续存在。
您的alert()
会导致出现对话框,该对话框失去焦点并关闭/销毁页面。
改为使用console.log
和inspect the popup for debugging。
如果有人知道如何在文本文件中存储密钥,请让我知道
最近有一个问题我answered rather extensively关于选项的问题。如果您需要持久存储,请使用chrome.storage
API。如果您需要专门输出文件,则无法从扩展程序获得R / W访问权限,但您可以提供“下载”文件。
我想跟踪用户按键,无论他搜索什么或类型
那是不可能的;您的扩展程序现在只会获得有关弹出窗口中击键的通知。没有用于全局拦截按键的扩展API。最多,您可以在所有选项卡中注入类似的脚本,但这也不会让您在地址/搜索栏中输入类型。