如何使用Greasemonkey替换整个页面中https的http链接?

如何使用Greasemonkey替换整个页面中https的http链接?,http,https,replace,greasemonkey,Http,Https,Replace,Greasemonkey,在整个页面中是否有替换https的http链接? userscripts.org中有一些脚本,但它们只重定向url,不更改html内容 谢谢如果您关心安全和隐私,最好安装和使用扩展,如。 扩展有更强大的能力来强制SSL:链接、图像、视频和声音文件、CSS和javascript文件、flash对象、AJAX调用等。而Greasemonkey脚本或userscript可能会有一段时间来完成其中的一部分 但是,如果您真的只想更改页面中的链接(节点),这并不难做到。需要说明的最大问题是通过AJAX添加链

在整个页面中是否有替换https的http链接? userscripts.org中有一些脚本,但它们只重定向url,不更改html内容


谢谢

如果您关心安全和隐私,最好安装和使用扩展,如。

扩展有更强大的能力来强制SSL:链接、图像、视频和声音文件、CSS和javascript文件、flash对象、AJAX调用等。而Greasemonkey脚本或userscript可能会有一段时间来完成其中的一部分

但是,如果您真的只想更改页面中的链接(
节点),这并不难做到。需要说明的最大问题是通过AJAX添加链接的站点。因此,请使用jQuery和
waitForKeyElements()
处理所有链接

以下是一个完整的脚本,让您开始:

// ==UserScript==
// @name     _Remap links to https
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/
waitForKeyElements ("a", remapToSSL);

function remapToSSL (jNode) {
    var node    = jNode.get (0);

    if (node.protocol === "http:") {
        node.protocol = "https:";
    }
}

不清楚你想要完成什么。您只想更改链接,即:
标记。。。如果只是这样,为什么?如果你担心隐私/安全,那么Greasemonkey脚本就不是这份工作的最佳工具。HTTPS Everywhere很糟糕。它使用一个预定义的站点列表,并且没有简单的方法来扩展该列表。大多数情况下,它只是无法与您想要使用它的站点一起工作。