如果我没有';我不知道javascript中的完整变量名
我正试图从网站上获取更多信息,其中有随机定义的变量/数组。像这样:如果我没有';我不知道javascript中的完整变量名,javascript,userscripts,Javascript,Userscripts,我正试图从网站上获取更多信息,其中有随机定义的变量/数组。像这样: var firstvar_numbers= "already exist" var secondvar_numbers= ["a","b","c","d"] 数字是站点给定的随机值。在FirefoxDOM中,当我编写了一半的secondvar\uucode>时,它立即发现了我想要的,因为只有一个变量以second开头。我的问题是,如何通过了解变量的一部分来获取userscript/javascript中变量的值/数组。 例如
var firstvar_numbers= "already exist"
var secondvar_numbers= ["a","b","c","d"]
数字是站点给定的随机值。在FirefoxDOM中,当我编写了一半的secondvar\uucode>时,它立即发现了我想要的,因为只有一个变量以second
开头。我的问题是,如何通过了解变量的一部分来获取userscript/javascript中变量的值/数组。
例如,如果您不理解:
Html
或
在这里,我可以在Firefox控制台中编写alert(exists)
,它将建议自动编译。因为它是在顶层用var
声明的,所以您可以迭代窗口的属性
并找到一个启动的属性,其中包含您正在寻找的内容:
//示例站点代码:
var数组_636353=[62,96,11,28];
//用户脚本代码:
const prop=Object.keys(window.find)(key=>key.startsWith('array_'));
console.log(道具,窗口[prop])代码>由于它是在顶层用var
声明的,因此您可以迭代窗口的属性
并找到一个启动的属性,其中包含您要查找的内容:
//示例站点代码:
var数组_636353=[62,96,11,28];
//用户脚本代码:
const prop=Object.keys(window.find)(key=>key.startsWith('array_'));
console.log(道具,窗口[prop])代码>如果变量在全局范围内定义,则这些变量将位于窗口下的对象下<代码>对象。键(窗口)
将为您提供所有键的数组。然后,您可以对所有键应用正则表达式匹配,以找出特定的模式。如果变量在全局范围内被定义,则这些变量将位于窗口对象下<代码>对象。键(窗口)
将为您提供所有键的数组。然后,您可以在所有键上应用正则表达式匹配来找出特定的模式。很好!您知道如何解析作用域变量吗?@Yusifx1document.getElementById(“#变量”)
?@supercol。为了实现真正的访问,您可以使用MutationObserver监视添加的
标记,并用您自己需要的功能替换它:如果变量保持不变,您还可以使用正则表达式查看脚本标记的textContent
,查看分配给变量的内容如果站点有多个具有相同ID的元素,则这是无效的HTML。。。但是您仍然可以使用查询字符串[id=“variables”]
对元素进行迭代-将其传递给querySelectorAll
,然后您就可以对它们进行迭代。最后一个问题。我应该只从div中获取变量吗?如果我使用带有数千个变量的“窗口”,它不会减慢浏览器/JavaScript/站点的速度吗?很好!您知道如何解析作用域变量吗?@Yusifx1document.getElementById(“#变量”)
?@supercol。为了实现真正的访问,您可以使用MutationObserver监视添加的
标记,并用您自己需要的功能替换它:如果变量保持不变,您还可以使用正则表达式查看脚本标记的textContent
,查看分配给变量的内容如果站点有多个具有相同ID的元素,则这是无效的HTML。。。但是您仍然可以使用查询字符串[id=“variables”]
对元素进行迭代-将其传递给querySelectorAll
,然后您就可以对它们进行迭代。最后一个问题。我应该只从div中获取变量,还是如果我使用带有数千个变量的“窗口”,它不会减慢浏览器/JavaScript/站点的速度?
//Variable that I need from server
<div id="variables" class="container">
<script type="text/javascript">
var exists_73647286="hello world"
var array_636353=[62,96,11,28]
</script>
</div>
//Code that will get array
alert("exists_"+seconpartofvar())
function seconpartofvar(){your code}
alert(autocomplate.exists_)