打开特定网页并运行脚本

时间:2013-12-12 02:08:45

标签: javascript html web

所以基本上我有网页(不是我的) https://leaderboards.guildwars2.com/en/na/achievements/guild/The%20Eternal%20Wind
链接几乎就是一张桌子。

我目前有一个书签,可以为该表添加两列以及其他信息。

javascript: (function () {
    if (!window.jQuery) {
        var s = document.createElement("script");
        s.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js");
        s.setAttribute("type", "text/javascript");
        s.onload = function () {
            var e = document.createElement("script");
            e.setAttribute("src", "https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.0.0/moment.min.js");
            e.setAttribute("type", "text/javascript");
            e.onload = function () {
                var e = document.createElement("script");
                e.setAttribute("src", "https://raw.github.com/padolsey/jQuery-Plugins/master/sortElements/jquery.sortElements.js");
                e.setAttribute("type", "text/javascript");
                e.onload = function () {
                    jQuery("tr td.achievements .additional").each(function () {
                        var e = moment(jQuery(this).text().replace(/[\S\s]*?Since/g, "").trim(), "M/D/YY h:mmA");
                        jQuery(this).parents("tr").append('<td data-time="' + e.unix() + '">' + e.format("YYYY-MMM-DD HH:mm") + "</td>");
                        jQuery(this).parents("tr").append("<td>" + Math.round(((new Date).getTime() - e.unix() * 1e3) / (1e3 * 60 * 60 * 24)) + "</td>")
                    });
                    jQuery("table.real.achievements td[data-time]").sortElements(function (e, t) {
                        return jQuery(e).data("time") - jQuery(t).data("time")
                    }, function () {
                        return this.parentNode
                    })
                };
                document.getElementsByTagName("head")[0].appendChild(e)
            };
            document.getElementsByTagName("head")[0].appendChild(e)
        };
        document.getElementsByTagName("head")[0].appendChild(s)
    };
    void(null);
})();

基本上,我转到该链接点击书签,它工作得很好。但是,无论如何,每次加载页面时我都可以运行该脚本吗?所以每次我希望它生效时我都不必点击它?

1 个答案:

答案 0 :(得分:1)

对于Firefox,请使用Greasemonkey。它允许您编写脚本以在启动时自动更改特定页面。

这是一个很好的起点:Looking for Greasemonkey Scriptwriting basics/tutorial