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

时间:2013-05-30 08:55:30

标签: http https replace greasemonkey

有没有在整页中将任何http链接替换为https? userscripts.org中有一些脚本,但它们只重定向网址,并且不会更改html内容..

由于

1 个答案:

答案 0 :(得分:2)

如果您担心安全性和隐私权,那么安装和使用HTTPS Everywhere等扩展程序会更好

扩展程序可以更强大地执行SSL:链接,图像,视频和声音文件,CSS和javascript文件,Flash对象,AJAX调用等。而Greasemonkey脚本或用户脚本可能有一段时间的魔鬼只做其中的一部分。

但是,如果您真的只想更改页面中的链接(<a>节点),那就不难了。最重要的是要通过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:";
    }
}