我做了一個chrome擴展,並且爲其添加了一個選項頁面。我有過這樣<input id="inpID">
選項頁面上的輸入,並沒有調用外部JavaScript文件中像這樣<script type="text/javascript" src="whatever.js"></script>
無法修改<input>標記的值
的whatever.js
是這樣的:
var inpID = document.getElementById('inpID');
...
function getData(key){
var tem = '';
chrome.storage.local.get(key,function (msg){
tem = JSON.stringify(msg).substr((key.length+5),JSON.stringify(msg).length-(key.length+7));
})
return tem;
}
function setData(key,value){
chrome.storage.local.set({key: value},function(){});
}
...
inpID.addEventListener('keyup',saveID);
...
function saveID() {
setData('ID',inpID.value);
}
...
inpID.value = getData('ID')
然而,這段代碼並沒有在所有的工作。我在輸入,刷新頁面中輸入了一些東西,輸入仍然是空白的。任何幫助?
刷新頁面將始終會重新加載初始頁面,除非您更改html文件的代碼 – yaochiqkl
對dupe的評論:'chrome.storage.local.get'是異步的:您不能返回值,您必須使用回電話。 – Xan
@Xan工作,謝謝 –