![](/img/trans.png)
[英]Is it possible to load an older version of Firebase JavaScript SDK
[英]Is it possible to load in a local version of a JavaScript file instead of the server version?
只是有一个快速的问题,扔掉,看看是否有一个解决方案...
我们假装无法访问服务器。 我加载一个网页,发现他们从子文件夹加载了一个Javascript文件(比方说/scripts/js/some.js)
现在,我想在本地更改此文件并对整个站点进行测试,而不将整个站点下载到本地文件夹。
有没有人知道我可以覆盖该远程js文件的加载方式,有利于它的本地/编辑副本?
尝试使用noscript或adblock阻止加载服务器端脚本。 然后使用greasemonkey加载自己的脚本。
我实际上找到了解决方案。 发布任何来这里寻找它的人的详细信息。
Privoxy(www.privoxy.org/)[免费]在大多数情况下通过重定向允许此操作。 虽然Firefox可能会阻止重定向,具体取决于您放置它的位置。 这意味着您很可能无法在本地保存文件并通过file:// etc /引用它
(我希望我有办法告诉你如何在网页上静态地摆弄JavaScript,你有限制访问...但我还没有找到它。 如果答案出现我将接受它。 )
当然,您必须设置Privoxy,并将其用作本地代理服务器。 如果你只是临时使用它,这很简单:只需将浏览器指向端口8118上的代理127.0.0.1并运行它即可。
您必须添加重定向“默认操作”(选项>编辑默认操作)以重定向浏览器以使用新副本:
{ +redirect{/newLocation/some.js} }
/scripts/js/some.js
如果您想要一种方法来使用本地文件而不是远程文件(在任何Web浏览器中),我强烈推荐使用Charles Web Proxy。 http://www.charlesproxy.com/
在Charles中,转到“工具”菜单并选择“映射本地”。 通过在要从磁盘加载的Web上输入文件的地址来添加新映射。
这种技术适用于各种文件(JavaScript,CSS,SWF)。 当然,您可以选择暂时禁用此功能,它仅在Charles运行时才有效。 非常便利。
虽然你的代理解决方案更加永久,但我发现使用Fiddler你几乎不需要配置:
在支持FileReader的浏览器中,例如Chrome,是的,结合'eval'来执行任意JS。 在HTML中添加一个按钮供用户按:
<form>
<input type="file" name="file"
onchange="loadJS(event.target.files);">
</form>
在您的脚本中添加:
function load() {
var reader = new FileReader();
reader.onload = function(evt) {
eval(evt.target.result);
};
reader.readAsText(files[0]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.