繁体   English   中英

如何使用jQuery从Ajax加载页面获取JavaScript变量?

[英]How to get JavaScript variable from ajax loaded page with jQuery?

我正在为一个网页(又称浏览器插件)开发用户脚本。 我需要用ajax请求得到的一个全局Java变量(称为gVariable(它是一个数组))进行更新。

在ajax请求中,我请求的页面是同一页面。 但是只想“提取”一个全局变量,然后用下载的变量替换当前变量即可。

这是我现在拥有的(不起作用)。

function LoadNewItemList() {
    $.get(window.location, function (data) {
        var $data = $(data);       
        unsafeWindow.gVariable = data.gVariable; //I'm getting 'undefined'
    });
}

JS测试: http//jsfiddle.net/ywVKT/15/

看您的小提琴,主要有4个标签。 即“标题”,“链接”,“ ul”,“脚本”。 这就是为什么您需要将index用作3的原因,因为script标记包含变量名和值。 试试这个,它会起作用。

$('#variableHere').text(data2[3].innerText);

它将按照o / p返回: var gV​​ariable = 0; gVariable = 5现在,您可以使用regex / substring函数来提取可变名称和值。

我找到了解决方案:

unsafeWindow.gVariable = 0;
var $script = $data.filter('script:contains("var gVariable")').first();
eval($script.text());
unsafeWindow.gVariable = gVariable;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM