我正在为一个网页(也就是浏览器插件)开发用户脚本。我需要使用ajax请求更新一个全局Javascript变量(让我们称之为gVariable(它是一个数组))。
在ajax请求中,我正在请求我正在使用的同一页面。但只是想“提取”一个全局变量并用下载的那个替换当前变量。
这是我现在拥有的(不工作)。
function LoadNewItemList() {
$.get(window.location, function (data) {
var $data = $(data);
unsafeWindow.gVariable = data.gVariable; //I'm getting 'undefined'
});
}
答案 0 :(得分:1)
看着你的小提琴,主要有4个标签。即 "标题" ,"链接" ," ul" ,"脚本"。这就是为什么需要将索引用作3的原因,因为脚本标记包含变量名称和值。 试试这个,它会工作。
$('#variableHere').text(data2[3].innerText);
它会在o / p之后返回: var gVariable = 0; gVariable = 5 现在您可以使用regex / substring函数来提取可修改的名称和值..
答案 1 :(得分:0)
我找到了解决方案:
unsafeWindow.gVariable = 0;
var $script = $data.filter('script:contains("var gVariable")').first();
eval($script.text());
unsafeWindow.gVariable = gVariable;