我经常访问的一个网站最近被关闭了。但是,我将经常使用的所有资源备份到本地计算机上。我试图通过我的书签等访问它们,而无需手动调整每个书签。因此,我为 Firefox 编写了一个 Greasemonkey 脚本,该脚本应将每个文件重定向到本地驱动器上的资源。这是我的脚本:
// ==UserScript==
// @name Resource Redirect
// @namespace Resource Redirect
// @include http://www.domain.com/*
// @version 1
// @grant metadata
// @run-at document-start
// ==/UserScript==
var URL = window.location.href;
var newURL = URL.replace('http://www.domain.com/sites/default/files/','file:///I:/folder/files/');
// alert(newURL);
window.location.href = newURL;
警报正在将正确的文件路径和名称踢出到本地资源。如果我将警报中的文件路径(我仅用于调试目的)复制并粘贴到地址栏中,它将提取正确的文件。因此,替换以及直到最后一行的所有代码都可以正常工作。但它不是重定向。它只是停留在现有的 URL 上并显示 404 错误。我究竟做错了什么?谢谢。
最佳答案
出于安全考虑,浏览器限制从脚本加载本地文件。
如果你的机器上有 python,最简单的方法是使用 python 简单的 http 服务器来提供这些文件
cd I:/folder/files/
# for python 2.x :
python -m SimpleHTTPServer 80
# for python 3.x :
python -m http.server 80
然后你可以将脚本更改为
var newURL = URL.replace('http://www.domain.com/sites/default/files/','http://localhost:80/');
关于javascript - 如何让 Greasemonkey 重定向到本地资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31772932/