在下面的代码片段中,我在submit函数中声明了变量“id”。我尝试在嵌套函数中为它赋值,但它似乎不在范围内,我不知道为什么。
$(document).ready(function() {
if (typeof(localStorage) == 'undefined' ) {
alert('Your browser does not support HTML5 localStorage. Try upgrading.');
}
else {
$("#logForm").submit(function(){
var id;
chrome.bookmarks.getRecent(1, function(mostrecent) {
getLastId(mostrecent);
});
function getLastId(mostrecent) {
mostrecent.forEach(function(mostrecent) {
lastId = mostrecent.id;
alert(lastId + ' was last id');
id = lastId;
})
}
alert(id + ' outside function');
奖金问题 - 如果您知道更好的方法从Chrome中提取最后使用的ID,那么书签就会知道它是什么。我不得不拉最近没有考虑添加然后删除的最后一个书签的可能性,这会增加索引。
答案 0 :(得分:2)
这应该这样做:
$("#logForm").submit(function() {
var id;
chrome.bookmarks.getRecent(1, function(arr) {
id = arr.pop().id;
});
// do stuff with id
});