我正在学习开发Firefox插件。我用输入框做了一个简单的开发工具选项卡。我发现我可以在输入框中键入每个字符,“ /”或“'”除外。正斜杠或单引号将不会填充。输入这些字符时,输入框中什么也没有显示。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
body{
margin:0;
}
.warpath-search{
width:100%;
background-color:#fcfcfc;
border:1px solid #f0f1f2;
padding:.3em;
}
.warpath-search label{
width:100px;
display:inline-block;
}
.warpath-search input{
width:400px;
}
</style>
</head>
<body>
<div class="warpath-search">
<label>Xpath:</label><input type="text" name="warpath-xpath" id="warpath-xpath" />
</div>
<script src="devtools-panel.js"></script>
</body>
</html>
devtools-panel.js:
input = document.getElementById("warpath-xpath");
input.addEventListener("keyup", () => {
console.log(input.value);
});
如果直接在浏览器中加载插件的HTML文件,我可以输入字符,但是当它作为插件加载时会被阻止。使用Firefox:70.0.1(64位)
该问题似乎与Firefox提前输入功能有关。以下步骤为我解决了这个问题: