HWM_replace_links_to_current_mirror

Все ссылки на другие зеркала игры HWM заменяет на ссылки к my.lordswm.com

目前為 2022-05-06 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         HWM_replace_links_to_current_mirror
// @namespace    http://tampermonkey.net/
// @version      0.7.1
// @description  Все ссылки на другие зеркала игры HWM заменяет на ссылки к my.lordswm.com
// @author       Zeleax
// @include      /https:\/\/(www.heroeswm.ru|www.lordswm.com|my.lordswm.com|daily.heroeswm.ru)\/.*/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=lordswm.com
// @license MIT
// @grant        none
// ==/UserScript==

(function() {
    var cur_hostname= location.hostname;

    var arr_hosts=['www.heroeswm.ru','my.lordswm.com','www.lordswm.com'].filter(function(o){ // сайты в ссылках для замены на текущее зеркало
        return o !== cur_hostname
    });
    var i, list;

    list = getL('//a[contains(@href,"//") and not(contains(@href,"'+cur_hostname+'"))]');

    var sethost= /daily.heroeswm.ru/.test(cur_hostname) ? 'my.lordswm.com' : cur_hostname;

    for (i=0; i<list.snapshotLength; i++){
        for(var j=0; j<arr_hosts.length; j++){
            list.snapshotItem(i).href= list.snapshotItem(i).href.replace(arr_hosts[j], sethost);
        }
    }

    // заменяем картинки и ссылки
    if(/lordswm/.test(cur_hostname) || /daily.heroeswm.ru/.test(cur_hostname)){
        list = getL('//img[contains(@src,"heroeswm.ru")]');
        for(i=0; i<list.snapshotLength; i++){
            list.snapshotItem(i).src=list.snapshotItem(i).src.replace(/dcdn.?.heroeswm.ru/,'cfcdn.lordswm.com');
        }

        list = getL('//a[contains(@href,"heroeswm.ru")]');
        for(i=0; i<list.snapshotLength; i++){
            list.snapshotItem(i).href=list.snapshotItem(i).href.replace(/dcdn.?.heroeswm.ru/,'cfcdn.lordswm.com');
        }
    }
})();

function getL(xpath,el,docObj){return (docObj?docObj:document).evaluate(xpath,(el?el:(docObj?docObj.body:document.body)),null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);}