【发布时间】:2018-10-22 11:06:07
【问题描述】:
有一个页面是这样的:
<html>
<head>
...
<script type="text/javascript" src="http://someserver/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="http://someserver/getJS?key=123456" ></script>
...
</head>
...
</html>
还有getJS的内容
$(document).ready(function() {
...
}
每次加载页面时都会动态生成密钥,就像会话密钥一样。脚本http://someserver/getJS?key= 对于每个键只能访问一次。在第二次访问时,它返回NULL。但是,从 Chrome 的开发者工具中查看,getJS 的内容缓存在资源/应用面板中。
我的问题:
使用 GreaseMonkey 脚本或 sn-p,如何在不调用 URL 再次的情况下以字符串形式访问任何 external 脚本对象的内容?? p>
在 Chrome 的 DevTools 中,如何访问 sn-p 中 Resources/Application 面板下的任何脚本(和其他对象)?
【问题讨论】:
-
你想在这里做什么,究竟?将脚本作为字符串用于什么目的?脚本中的所有函数都可以在脚本加载后随时从页面调用。
-
目前我手动打开资源面板,进入getJS脚本,复制密钥,粘贴到我的sn-p,然后运行。
-
getJS 中只有 1 个函数,document.ready 函数。准备功能中有一个键。我的greasemonkey 脚本/sn-p 实际上是一个修改后的就绪函数,当函数将某些内容发送回服务器时,需要密钥。
-
是的,所以这是开发人员(我猜不是你)设计为仅在页面加载时运行一次的脚本。这个脚本做了一些事情(可能无关紧要),然后将一些数据返回给服务器。您想使用油脂猴来劫持脚本,运行一些不同的计算,并将某些东西(可能是意外的)返回给服务器。对吗?
-
似乎有问题的脚本是iife,这意味着它在创建后立即被调用。另见:stackoverflow.com/a/32226159/2495283
标签: javascript google-chrome google-chrome-devtools tampermonkey