作为参考,这是我正在使用的JSON:http://goo.gl/xxHci0
在常规JavaScript中,使用下面的代码工作正常,我可以轻松地操作它:
var info = JSON.parse(document.getElementsByTagName("pre")[0].innerHTML);
alert(info[0]["AssetId"]);
Run Code Online (Sandbox Code Playgroud)
但我正在研究相同代码的jQuery版本,以避免使用像iFrames获取此数据的方法.我的jQuery函数是:
$.get (
page,
function parse(data) {
var r = $.parseJSON(data);
alert(r[0]["AssetId"]);
}
);
Run Code Online (Sandbox Code Playgroud)
我找到了转换JSON使用jQuery的方法,但是我无法找到需要转换的JSON代码.
我已经做了一个扩展pandora.com,当用户点击扩展图标时,它会打开一个带有潘多拉的新标签。
当潘多拉已经在新标签中打开并且用户单击扩展时,扩展将不会打开新标签,但我希望它改为将活动标签更改为潘多拉已经打开的标签。
这是我迄今为止在我的background页面中的内容:
chrome.browserAction.onClicked.addListener(function(tab) {
var found = false;
chrome.tabs.query({}, function (tabs) {
for (var i = 0; i < tabs.length; i++) {
if (tabs[i].url.search("pandora.com") > -1){
found= true;
}
}
if (found==false){
chrome.tabs.executeScript(null,{file: "buy.js"});
} else {
// Changes active tab to the tab with pandora open
}
});
});
Run Code Online (Sandbox Code Playgroud) 所以我知道如何更改扩展的图标 -
chrome.browserAction.setIcon({
path : "green.png"
});
Run Code Online (Sandbox Code Playgroud)
但是我怎么能这样做,所以我不改变图标,而是我在浏览器中添加一个小图像?我真的不确定该怎么称呼它...它类似于扩展名"AdBlock",它有图标,然后是图标左下角的数字,告诉你有多少广告被阻止.
对于我的扩展程序,我试图通过在扩展程序的浏览器中显示绿色/黄色/红色方块来显示扩展程序的"状态".
我怎么能这样做呢,比如说,图标左下方会出现一个绿色方块,类似于被屏蔽的广告数量?现在,我有3个不同的图像,我将图标更改为相应的图像,但我觉得有一个更直观的方法来做到这一点.
编辑:
所以我提出了这个代码,但无论我做什么,徽章颜色都保持红色 -
chrome.browserAction.setBadgeText( { text: " " } );
function setIconStatus(status){
if (status == 1){
chrome.browserAction.setBadgeBackgroundColor({color:"green"})
} else if (status == 0){
chrome.browserAction.setBadgeBackgroundColor({color:"red"})
} else {
chrome.browserAction.setBadgeBackgroundColor({color:"yellow"})
}
}
Run Code Online (Sandbox Code Playgroud)
我得到这个控制台错误 -
Unchecked runtime.lastError while running browserAction.setBadgeBackgroundColor: Unknown error.
at setIconStatus (chrome-extension://blnceljpkdfniagjdagcnfeceanjcipe/rap.js:17:24)
at chrome-extension://blnceljpkdfniagjdagcnfeceanjcipe/rap.js:86:3reportIfUnchecked @ extensions::lastError:133handleResponse @ extensions::sendRequest:78
Run Code Online (Sandbox Code Playgroud)
jquery.js:5 POST https://shibboleth.buffalo.edu/idp/Authn/Stateless 500(内部服务器错误)x.support.cors.e.crossDomain.send @jquery.js:5x.extend.ajax @jquery .js:5x.(匿名函数)@jquery.js:5(匿名函数)@ rap.js:116l @jquery.js:3c.fireWith @jquery.js:3k @jquery.js:5(匿名函数)@的jquery.js:5
这个版本在jquery中会是什么?
document.getElementsByTagName("pre")[0].innerHTML;
Run Code Online (Sandbox Code Playgroud)
我需要帮助转换它以符合我的$.get要求:
$.get(
link,
function(data) {
var res = $(data).find("pre").html();
console.log(res);
}
);
Run Code Online (Sandbox Code Playgroud)