【发布时间】:2012-01-09 02:54:20
【问题描述】:
我正在尝试访问 Google Chrome 扩展程序中的选项卡和 Windows 数据。我显然已经设法获取此信息并通过 localStorage 加载它,但我不知道如何使用这些信息,因为我似乎无法通过 JSON 解析将数据解析回对象数组。
代码如下:
<html>
<head>
<script>
tabs = {};
tabIds = [];
focusedWindowId = undefined;
currentWindowId = undefined;
localStorage.windowsTabsArray = undefined;
function loadItUp() {
return arrays = chrome.windows.getAll({ populate: true }, function(windowList) {
tabs = {};
tabIds = [];
var groupsarr = new Array();
var tabsarr = new Array();
var groupstabs = new Array();
for (var i = 0; i < windowList.length; i++) {
windowList[i].current = (windowList[i].id == currentWindowId);
windowList[i].focused = (windowList[i].id == focusedWindowId);
groupsarr[windowList[i].id] = "Untitled"+i;
for (var j = 0; j < windowList[i].tabs.length; j++) {
tabsarr[windowList[i].tabs[j].id] = windowList[i].tabs[j];
groupstabs[windowList[i].id] = windowList[i].tabs;
}
}
localStorage.groupsArray = JSON.stringify(groupsarr);
localStorage.tabsArray = JSON.stringify(tabsarr);
localStorage.groupsTabsArray = JSON.stringify(groupstabs);
});
}
function addGroup() {
var name = prompt("NEW_GROUP_NAME");
var groupsarr = JSON.parse(localStorage.groupsArray);
groupsarr.push(name);
localStorage.groupsArray = JSON.stringify(groupsarr);
}
</script>
</head>
<body onload="loadItUp()">
WINDOW_QTY:
<script type="text/javascript">
var wArray = JSON.parse(localStorage.groupsArray);
document.write(wArray);
</script>
<br/>
TABS_QTY:
<script type="text/javascript">
var tArray = JSON.parse(localStorage.tabsArray)
document.write(tArray);
</script>
<br/>
WINDOWS_TABS_QTY:
<script type="text/javascript">
document.write(JSON.parse(localStorage.groupsTabsArray));
</script>
<br/>
</body>
</html>
【问题讨论】:
-
你为什么要把这些信息放到
localStorage,你想用它来做什么?当您“似乎无法将数据解析回数组”时,您在页面和错误控制台中看到了什么?你能指望什么?您是否意识到 -
我正在尝试制作标签分组扩展。该页面显示一堆[object Object]。错误控制台没有错误。我期待抓住一系列要使用的对象。不知道页面代码是在 loadItUp() 之前执行的。听说过 console.log,但从未使用过。
标签: json html google-chrome google-chrome-extension local-storage