Добавление инвентарного списка steamcardexchange Ссылки на страницу значков Steam - PullRequest
0 голосов
/ 06 июня 2019

Я пытаюсь написать пользовательский скрипт, который должен добавить ссылку на steamcardexchange (https://www.steamcardexchange.net/index.php) для каждого значка в Steam: https://steamcommunity.com/id/*/badges/

Для этого использовался расширенный Steam, но я 'Я не настолько опытен, мне нужна помощь, чтобы выяснить, почему мои ссылки не кликабельны ... Всякий раз, когда я наводю указатель мыши на значок в списке, он всегда открывает страницу с одним значком, как https://steamcommunity.com/id/*/gamecards/440/, и полностью игнорирует мой div сссылка.

Вот мой код:

// ==UserScript==
// @name         SCE Badge Links
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add SteamCardExchange Links to Badges Page
// @author       roughnecks
// @match        https://steamcommunity.com/id/*/badges
// @match        https://steamcommunity.com/id/*/badges/
// @grant        none
// ==/UserScript==



const badgerows = document.querySelectorAll('.badge_row.is_link');
badgerows.forEach(badge => {
    var splitted = badge.querySelector('a').href.split('/');
    var id = splitted[6];
    //console.log(id);

    // The element to be prepended
    var sce = document.createElement('DIV');
    var a = document.createElement('a');
    var linkText = document.createTextNode("SCE Badge");
    a.appendChild(linkText);
    a.href = "https://www.steamcardexchange.net/index.php?inventorygame-appid-" + id;
    sce.appendChild(a);

    badge.prepend(sce);

});

Изменил мой код на:

// ==UserScript==
// @name         SCE Badge Links
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add SteamCardExchange Links to Badges Page
// @author       roughnecks
// @match        https://steamcommunity.com/id/*/badges
// @match        https://steamcommunity.com/id/*/badges/
// @grant        none
// ==/UserScript==



const badgerows = document.querySelectorAll('.badge_row.is_link');
badgerows.forEach(badge => {
    var splitted = badge.querySelector('a').href.split('/');
    var id = splitted[6];
    //console.log(id);

    var element = badge.querySelector('.whiteLink.how_to_get_card_drops');

    // The element to be appended/prepended
    var sce = document.createElement('div');
    var a = document.createElement('a');
    var linkText = document.createTextNode("SCE Badge");
    a.appendChild(linkText);
    a.target = '_blank';
    a.href = "https://www.steamcardexchange.net/index.php?inventorygame-appid-" + id;
    sce.appendChild(a);

    element.append(sce);

});

И похоже, это работает, даже если немного уродливо,Я все еще открыт для предложений, улучшений.Спасибо

...