Google chrome extension 像球状的。下载数据中的部分以字符串“_GM_setData({“w43KIf”):[“sdpc.”开头。也许这个JSON可以用来完全替代全局变量。下面是我为此目的实现的JS代码片段——如果你正在解决类似的问题,你可以从中得到启发(代码需要JQuery和sp
像球状的。下载数据中的部分以字符串“_GM_setData({“w43KIf”):[“sdpc.”开头。也许这个JSON可以用来完全替代全局变量。下面是我为此目的实现的JS代码片段——如果你正在解决类似的问题,你可以从中得到启发(代码需要JQuery和sprintf的任何实现):Google chrome extension 像球状的。下载数据中的部分以字符串“_GM_setData({“w43KIf”):[“sdpc.”开头。也许这个JSON可以用来完全替代全局变量。下面是我为此目的实现的JS代码片段——如果你正在解决类似的问题,你可以从中得到启发(代码需要JQuery和sp,google-chrome-extension,gmail,gmail-api,gmail-addons,Google Chrome Extension,Gmail,Gmail Api,Gmail Addons,像球状的。下载数据中的部分以字符串“_GM_setData({“w43KIf”):[“sdpc.”开头。也许这个JSON可以用来完全替代全局变量。下面是我为此目的实现的JS代码片段——如果你正在解决类似的问题,你可以从中得到启发(代码需要JQuery和sprintf的任何实现): console.log( “正在下载Gmail配置以检查签名和签名切换。”); $.ajax(sprintf( "https://mail.google.com/mail/ca/u/0/?ui=2&ik=%s&view
console.log(
“正在下载Gmail配置以检查签名和签名切换。”);
$.ajax(sprintf(
"https://mail.google.com/mail/ca/u/0/?ui=2&ik=%s&view=cm&fs=1&tf=1",
Gmail配置(ike){
“类型”:“获取”,
“接受”:“html”,
“错误”:功能(响应、,
状态文本1,
jqXHR1)
{
log(“获取配置数据时出错(签名将不可用)):“+statusText1);
发送响应(假);
},
“成功”:功能(响应、,
状态文本1,
jqXHR1)
{
//console.log(“获得的数据:+响应”);
var dom=$(响应);
dom.filter('script')。每个(函数()
{
var myscript=this.text | | this.textContent | | this.innerHTML | |“”;
//log(“脚本:+myscript”);
if(myscript.indexOf('[“bx_-se”')!=-1){
console.log(“bx_se found.”);
//log(myscript);
var startToken='_GM_setData({';
var endToken='“});';
var subscript=myscript.substring(myscript.indexOf(startToken)+startToken.length-2);
//log(“下标:+下标”);
var finalJSONString=subscript.substring(0,
下标indexOf(endToken)+2);
//log(“finalJSONString:+finalJSONString”);
var finalJSON=JSON.parse(finalJSONString);
//log(finalJSON);
//这将在JSON对象中定位有趣的信息
var configArr=finalJSON.sBEv4c[2][1];
//console.log(configArr);
对于(var k=0;k
console.log(
"Going to download Gmail config to check for signature and signature switch.");
$.ajax(sprintf(
"https://mail.google.com/mail/ca/u/0/?ui=2&ik=%s&view=cm&fs=1&tf=1",
gmailConfig_ike), {
"type": "GET",
"accept": "html",
"error": function (response,
statusText1,
jqXHR1)
{
console.log("error getting config data (signature will be unavailable)):" + statusText1);
sendResponse(false);
},
"success": function (response,
statusText1,
jqXHR1)
{
// console.log("Data obtained: " + response);
var dom = $(response);
dom.filter('script').each(function ()
{
var myscript = this.text || this.textContent || this.innerHTML || '';
// console.log("script: " + myscript);
if (myscript.indexOf('["bx_se"') !== -1) {
console.log("bx_se found.");
//console.log(myscript);
var startToken = '_GM_setData({"';
var endToken = '"}); ';
var subscript = myscript.substring(myscript.indexOf(startToken) + startToken.length - 2);
// console.log("subscript: " + subscript);
var finalJSONString = subscript.substring(0,
subscript.indexOf(endToken) + 2);
// console.log("finalJSONString: " + finalJSONString);
var finalJSON = JSON.parse(finalJSONString);
//console.log(finalJSON);
// this locates the interesting information in the JSON object
var configArr = finalJSON.sBEv4c[2][1];
// console.log(configArr);
for (var k = 0; k < configArr.length; k++) {
var param = configArr[k];
if (param && param[0].indexOf("sx_mrsp_") == 0) {
console.log("Signature located: " + param[1]);
gmailConfig_signature = param[1];
}
if (param && param[0].indexOf("bx_se") == 0) {
console.log("Signature switch located: " + param[1]);
gmailConfig_signSwitch = param[1];
}
// if (param && param[0].indexOf("sx_dl") == 0) {
// console.log("Language located: " + param[1]);
// // gm_lang = param[1];
// }
}
}
});
sendResponse(true);
}
});