Steam Game show in NGA

在 NGA论坛 发帖中显示 Steam 游戏信息 移植自 Steamcn.com 同名插件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         Steam Game show in NGA
// @namespace    https://greasyfork.org/zh-CN/scripts/16390-steam-game-show-in-nga
// @version      1.07
// @require        http://cdn.bootcss.com/jquery/1.10.2/jquery.min.js
// @description  在 NGA论坛 发帖中显示 Steam 游戏信息 移植自 Steamcn.com 同名插件
// @author       原作者 Deparsoul @ steamcn ,由 Lyragosa 移植到NGA
// @include        /^http://(bbs\.ngacn\.cc|nga\.178\.com|bbs\.nga\.cn)/(read\.php|thread\.php\?fid=414|nuke\.php\?func=steamsync)/
// @grant        GM_xmlhttpRequest
// @license      MIT License
// ==/UserScript==

console.log("Lyragosa Steam App Show in NGA load success");


if (location.href.indexOf('/nuke.php?func=steamsync')>0) {
    //var unixTimestamp = new Date(Unix timestamp * 1000) 
    var commonTime = getTimeNow();
    var ownnum = 0; 
    var wishnum = 0;
    if (localStorage.getItem("own") != null) {
        ownnum = eval(localStorage.getItem("own")).length;
    }
    if (localStorage.getItem("wish") != null) {
        wishnum = eval(localStorage.getItem("wish")).length;
    }
    
    jQuery("body").append("<h2 id='page_title'><a href='http://bbs.ngacn.cc'>BBS.NGACN.CC</a> &nbsp; Steam 信息同步</h2>已经重新尝试同步 Steam 愿望单和已购物品信息 于 "+ commonTime + ",如果读取失败,请检查你的浏览器是否已经登录你的 Steam 帐号。<BR>你已购物品(含DLC)共计 <b>"+ ownnum +"</b> 个,愿望单中物品共计  <b>" + wishnum + "</b> 个。 <BR> ");
    
    jQuery("body").append("此信息仅供在NGA直接显示链接颜色使用,<span class='linkOwn'>已购物品将用绿色背景表示</span>,<span class='linkWish'>愿望单中物品将用蓝色背景表示</span>。<BR> 鼠标提示框中的信息需要在提示框中的同步区进行同步。 <BR> 之所以需要两次同步,是因为此脚本<b>并没有整合在NGA,而是由第三方制作</b>。<br>如果你喜欢本插件,请向二哥提议在论坛内置此功能。");
      sync();
    console.log("sync success");
}

if (location.href.indexOf('/thread.php?fid=414')>0) {
    //console.log(jQuery("#m_pbtntop div div").html());
    jQuery("#m_pbtntop div div.right_ table tbody tr").prepend('<td><a href="/nuke.php?func=steamsync" target="_blank" class="b blue"><nobr><span style="font-size:1.23em">同步我的 Steam 信息</span></nobr></a></td>');
}
    
    
    
    /* SYNC END */
    

var currentScript = "0";
function setScriptVersion(a) {
    currentScript = a;
    jQuery("#noScript").hide();
    jQuery("#withScript").show();
    jQuery("#progress").show();
    flag_desura = false;
    flag_userdata = false;
    flag_wish = true;
}
function checkLast() {
    if (localStorage.last) {
        jQuery("#reset").fadeIn();
        jQuery("#lastTime").text(localStorage.last);
        var c = JSON.parse(localStorage.own);
        var e = JSON.parse(localStorage.wish);
        jQuery("#lastOwn").text(c.length);
        jQuery("#lastWish").text(e.length);
        if (localStorage.sub) {
            var d = JSON.parse(localStorage.sub);
            jQuery("#lastSub").html(" | 订阅(SUB):<strong>" + d.length + "</strong>")
        } else {
            jQuery("#lastSub").html("")
        }
        if (localStorage.desura) {
            var b = JSON.parse(localStorage.desura);
            jQuery("#lastDesura").html(" | Desura:<strong>" + b.length + "</strong>")
        } else {
            jQuery("#lastDesura").html("")
        }
        var a = jQuery("#lastSync");
        if (a.hasClass("alert-info")) {
            a.removeClass("alert-info").addClass("alert-success")
        } else {
            a.addClass("alert-info")
        }
        if (localStorage.avatar) {
            jQuery("#avatar img").attr("src", localStorage.avatar);
            jQuery("#avatar a").attr("href", localStorage.profileurl);
            jQuery("#avatar span").text(localStorage.personaname);
            jQuery("#avatar").show()
        } else {
            jQuery("#avatar").hide()
        }
        a.fadeIn()
    }
}
var flag_own = false;
var flag_wish = false;
var flag_userdata = true;
var flag_desura = true;
    
function checkFinish() {
    if (flag_own && flag_wish && flag_desura && flag_userdata) {
        localStorage.last = getTimeNow();
        checkLast();
        syncAnywhere();
        //ga("send", "event", "sync", "finish");
        //ga("set", "dimension2", "Finish Sync");
        //ga("set", "metric1", 1)
    }
}
function syncAnywhere() {
    if (sa) {
        if (localStorage.steamid != su) {
            need_login()
        } else {
            var a = {id: localStorage.steamid, avatar: localStorage.avatar, personaname: localStorage.personaname, profileurl: localStorage.profileurl};
            if (localStorage.own) {
                a.own = JSON.parse(localStorage.own)
            }
            if (localStorage.wish) {
                a.wish = JSON.parse(localStorage.wish)
            }
            if (localStorage.sub) {
                a.sub = JSON.parse(localStorage.sub)
            }
            if (localStorage.desura) {
                a.desura = JSON.parse(localStorage.desura)
            }
            jQuery("#sa").slideDown();
            $.post("sync_anywhere", {d: JSON.stringify(a), csrf: csrf}).done(function (b) {
                if (b != "1") {
                    jQuery("#sa_after strong").html(b)
                }
                jQuery("#sa_before").slideUp();
                jQuery("#sa_after").slideDown()
            })
        }
    }
}
function checkBrowser() {
    var a = {explorer: {ie: /msie ([\d.]+).*\.net clr (\d\.){1,2}\d+\)$/, firefox: /firefox\/([\d.]+)/, chrome: /chrome\/([\d.]+)/, opera: /opera.([\d.]+)/, safari: /version\/([\d.]+).*safari/, se: /msie ([\d.]+).*\.net clr (\d\.){1,2}\d+; 360se\)$/, sougou: /msie ([\d.]+).*\.net clr (\d\.){1,2}\d+; .*metasr.*\d\)$/, maxthon: /maxthon\/([\d.]+)/}};
    var c = navigator.userAgent.toLowerCase();
    var b = null;
    (b = c.match(a.explorer.ie)) ? a.ie = b[1] : (b = c.match(a.explorer.firefox)) ? a.firefox = b[1] : (b = c.match(a.explorer.chrome)) ? a.chrome = b[1] : (b = c.match(a.explorer.opera)) ? a.opera = b[1] : (b = c.match(a.explorer.safari)) ? a.safari = b[1] : (b = c.match(a.explorer.se)) ? a.se = b[1] : (b = c.match(a.explorer.sougou)) ? a.sougou = b[1] : (b = c.match(a.explorer.maxthon)) ? a.maxthon = b[1] : false;
    if (a.firefox || a.chrome) {
        return true
    } else {
        return false
    }
}
function noScriptSync() {
    jQuery("#noScriptSync").unbind("click").text("正在进行免脚本同步,请确认已将用户资料设为公开");
    if (localStorage.steamid && localStorage.profileurl) {
        jQuery("#progress").slideDown();
        jQuery("#nav-desura").fadeIn();
        var a = localStorage.steamid;
        $.getJSON("syncProxy.php?type=own&id=" + a, function (d) {
            if (d.response.game_count) {
                var f = d.response.games;
                var b = new Array();
                for (var c = 0; c < f.length; ++c) {
                    b.push(parseInt(f[c].appid))
                }
                localStorage.own = JSON.stringify(b);
                show_status("#own", b.length);
                flag_own = true;
                var e = localStorage.profileurl;
                $.getJSON("syncProxy.php?type=wish&id=" + e, function (h) {
                    var j = new Array();
                    for (var g = 0; g < h.length; ++g) {
                        j.push(parseInt(h[g]))
                    }
                    localStorage.wish = JSON.stringify(j);
                    show_status("#wish", j.length);
                    flag_wish = true;
                    //ga("send", "event", "sync", "noScriptSync");
                    checkFinish()
                })
            } else {
                need_public()
            }
        })
    } else {
        need_login()
    }
}
function checkScript() {
    if (jQuery("#noScript").is(":visible")) {
        //ga("send", "event", "script", "not installed");
        //ga("set", "dimension1", "No Script");
        if (checkBrowser()) {
            jQuery("#installScript").fadeIn()
        }
        jQuery("#noScriptSync").fadeIn();
        if (localStorage.noScriptSync) {
            noScriptSync()
        } else {
            jQuery("#noScriptSync").click(function () {
                localStorage.noScriptSync = true;
                noScriptSync();
                return false
            })
        }
    } else {
        if (currentScript < latestScript) {
            jQuery("#oldScript").show()
        }
        //ga("send", "event", "script", "installed");
        //ga("set", "dimension1", "With Script");
        localStorage.removeItem("noScriptSync")
    }
}
function getTimeNow() {
    return new Date().toLocaleString()
}
function show_status(b, a) {
    if (b == "#own") {
        //ga("set", "metric2", a)
    } else {
        if (b == "#wish") {
            //ga("set", "metric3", a)
        }
    }
    if (a >= 0) {
        jQuery(b + "_after strong").text("成功读取并记录了 " + a + " 个条目")
    } else {
        if (a == -1) {
            jQuery(b + "_after strong").text("读取失败,未登录 Steam")
        } else {
            if (a == -2) {
                jQuery(b + "_after strong").text("读取失败,无法访问 Steam")
            }
        }
    }
    jQuery(b + "_before").slideUp();
    jQuery(b + "_after").slideDown();
    //ga("send", "event", "game stat", localStorage.steamid + "-" + localStorage.personaname + b, a)
}
function proc_own(d) {
    var c = d;
    var a = c.match(/var rgGames = (.*);/);
    if (a) {
        var b = c.match(/g_steamID = "(\d+)";/);
        if (b) {
            localStorage.steamid = b[1]
        }
        var b = c.match(/personaName = (".*");/);
        if (b) {
            localStorage.personaname = JSON.parse(b[1])
        }
        var b = c.match(/var profileLink = "(.*)";/);
        if (b) {
            localStorage.profileurl = b[1] + "/"
        }
        var b = c.match(/<div class="profile_small_header_avatar">\s*<div[^>]+>\s*<img src="([^"]+)/);
        if (b) {
            localStorage.avatar = b[1].replace("_medium.jpg", ".jpg")
        }
        flag_own = true;
        checkFinish()
    } else {
        if (c.match(/global_action_link/)) {
            show_status("#own", -1);
            need_login()
        } else {
            show_status("#own", -2)
        }
    }
}
function proc_wish(f) {
    var a = f;
    var d = jQuery(a);
    var c = d.find('#tabs_basebg>form>input[name="appid"]');
    var b = d.find(".wishlist_empty_notice").length > 0;
    if (c.length > 0 || b) {
        var e = new Array();
        c.each(function () {
            e.push(parseInt(jQuery(this).val()))
        });
        localStorage.wish = JSON.stringify(e);
        show_status("#wish", e.length);
        flag_wish = true;
        checkFinish()
    } else {
        if (d.find(".global_action_link")) {
            show_status("#wish", -1);
            need_login()
        } else {
            show_status("#wish", -2)
        }
    }
}
function proc_userdata(b) {
    var d = JSON.parse(b);
    if (d) {
        var a = d.rgOwnedApps;
        var e = d.rgWishlist;
        var c = d.rgOwnedPackages;
        if (a || e || c) {
            localStorage.own = JSON.stringify(a);
            localStorage.wish = JSON.stringify(e);
            localStorage.sub = JSON.stringify(c);
            show_status("#own", a.length);
            show_status("#wish", e.length);
            show_status("#sub", c.length);
            if (a.length + e.length + c.length == 0) {
                jQuery("#progress").prepend('<div class="alert alert-danger"><strong><a href="https://store.steampowered.com/login" target="_blank" style="color:white">未读取到 Steam 用户数据,请点击此处,确认是否已经登录 Steam 商店</a></strong></div>')
            }
            flag_userdata = true;
            checkFinish()
        }
    }
}
function proc_desura(c) {
    var e = JSON.parse(c);
    var a = [];
    if (e && e.success) {
        var f = e.games;
        if (f) {
            for (var b = 0; b < f.length; ++b) {
                var d = f[b];
                a.push("/games/" + d[2])
            }
        }
    }
    show_status("#desura", a.length);
    if (a.length < 1) {
        jQuery("#desura_after strong").html('<a target="_blank" href="http://www.desura.com/collection">请检查是否已经登录</a>')
    } else {
        localStorage.desura = JSON.stringify(a)
    }
    flag_desura = true;
    checkFinish()
}
function proc_test(a) {
    console.log(a)
}
function need_login() {
    jQuery("#progress").slideUp();
    jQuery("#needLogin").slideDown();
    //ga("send", "event", "sync", "need login")
}
function need_public() {
    jQuery("#progress").slideUp();
    jQuery("#needPublic").slideDown();
    jQuery("#clickPublic").click(function () {
        jQuery(this).removeClass("btn-danger").addClass("btn-inverse").text("已经设置好了?点这里刷新").unbind("click").click(function () {
            location.reload();
            return false
        })
    });
    //ga("send", "event", "sync", "need public")
}



//Script Injection
function exec(fn) {
    var script = document.createElement('script');
    script.setAttribute("type", "application/javascript");
    script.textContent = fn;
    document.body.appendChild(script);
    document.body.removeChild(script);
}

//Load url and call proc function
function load(url, id){
    GM_xmlhttpRequest({
        method: "GET",
        url: url,
        onload: function(response) {
           // console.log(response.responseText)
            //exec('proc_'+id+'("'+addslashes(response.responseText)+'")');
            if (id=='own') {
                proc_own(addslashes(response.responseText))
            }
            else if (id == 'userdata') {
                proc_userdata(response.responseText)
            }
        }
    });
}

function sync() {
    load('http://steamcommunity.com/my/games?tab=all', 'own');
    load('http://store.steampowered.com/dynamicstore/userdata/?random='+Math.random(), 'userdata');
}

//Add slashes to string
function addslashes(string) {
    return string.replace(/\\/g, '\\\\').
        replace(/\u0008/g, '\\b').
        replace(/\t/g, '\\t').
        replace(/\n/g, '\\n').
        replace(/\f/g, '\\f').
        replace(/\r/g, '\\r').
        replace(/'/g, '\\\'').
        replace(/"/g, '\\"');
}



    (function (c) {
    var o = 300;
    var f = 1;
    var e = ("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch;
    if (e) {
        console.log("This is a device with touch support.")
    }
    function a(w) {
        var v = jQuery(w);
        var u = v.prev();
        u.removeClass("touched");
        v.stop().clearQueue().fadeOut(o)
    }

    function t(v) {
        var w = v.height();
        var D = v.prev();
        var E = D.position().left + D.outerWidth();
        var C = D.position().top - 5;
        var z = D.offsetParent().offset();
        var B = jQuery(window).scrollLeft() + jQuery(window).width() - z.left;
        var A = jQuery(window).scrollTop() - z.top;
        var u = A + jQuery(window).height();
        if (B - E < 320) {
            E = B - 320;
            C = D.position().top + D.outerHeight()
        }
        if (u - C < w) {
            C = u - w
        }
        C = C < A + 16 ? A + 16 : C;
        v.css("left", E).css("top", C)
    }

    function m(w) {
        var u = null;
        var x;
        if (x = w.match(/\/store\.steampowered\.com\/((sub|app)\/\d+)/)) {
            u = x[1]
        } else {
            if (x = w.match(/\/steamcommunity\.com\/((sub|app)\/\d+)/)) {
                u = x[1]
            }
        }
        if (!u) {
            var z = null;
            if (x = w.match(/\/www\.steamgifts\.com\/giveaway\/\w{5}\/([a-z0-9-]+)/)) {
                z = x[1]
            } else {
                if (x = w.match(/www\.gamersgate\.(?:com|co\.uk)\/[A-Z0-9-]+\/([a-z0-9-]+?)(-([2-4]|two|three|four)-pack-bundle)?(\/|$)/)) {
                    z = x[1]
                } else {
                    if (x = w.match(/www\.greenmangaming\.com\/.*\/games\/.+?\/([a-z0-9-]+?)(-([2-4]|two|three|four)-pack)?(\/|$)/)) {
                        z = x[1]
                    } else {
                        if (x = w.match(/getgamesgo\.com\/product\/([a-z0-9-]+?)(-steam|-mac|-mac-steam)?(\/|$)/)) {
                            z = x[1]
                        } else {
                            if (x = w.match(/www\.macgamestore\.com\/product\/\d+\/([\-\w]+?)(\/|$)/)) {
                                z = x[1]
                            } else {
                                if (x = w.match(/www\.game\.co\.uk\/\w+\/([\-\w]+?)-\d+(\/|$)/)) {
                                    z = x[1]
                                } else {
                                    if (x = w.match(/store.indiegala.com\/.*\/([a-z0-9-]+?)(-([2-4]|two|three|four)-pack-bundle)?\.html/)) {
                                        z = x[1]
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if (z) {
                u = "guess/" + z
            }
        }
        if (!u) {
            var v = /(www\.amazon\.com)\/(gp\/product|dp)\/([A-Z0-9]+)/;
            var x = v.exec(w);
            if (x != null) {
                var y = x[1];
                var A = x[3];
                u = "amazon/" + y + "/dp/" + A
            }
        }
        if (!u) {
            var x = w.match(/(store\.sonkwo\.com\/node|www\.sonkwo\.com\/products)\/(\d+)/);
            if (x != null) {
                var A = x[2];
                u = "sonkwo/" + A
            }
        }
        return u
    }

    var i = 0;

    function r(x) {
        var B = jQuery(x);
        if (B.data("_infoAdded")) {
            return false
        }
        B.data("_infoAdded", true);
        var v = B[0].href;
        var E = m(v);
        if (!E) {
            return false
        }
        var z = false;
        var C = E;
        var D = "";
        var u;
        if (B.next().hasClass("steamInfoWrapper")) {
            D = B.next().attr("id")
        } else {
            ++i;
            D = "steam_info_" + C.replace(/[\/.]/g, "_") + "_" + i;
            u = jQuery('<div style="display:none" class="steamInfoWrapper"><div class="png_loading"></div><iframe frameBorder="0" allowtransparency="true">Loading</iframe></div>');
            u.attr("id", D);
            u.find("iframe").attr("src", c + "/tooltip#" + C + "#" + D);
            B.after(u);
            z = true
        }
        var A = "#" + D;
        u = jQuery(A);
        var w = null;

        function y() {
            jQuery(".steamInfoWrapper:not(" + A + ")").stop().clearQueue().hide().css("opacity", "1");
            clearTimeout(w);
            u.find("iframe")[0].contentWindow.postMessage("show", "*");
            t(u);
            u.fadeIn(o)
        }

        B.bind("mousemove", function () {
            y()
        });
        B.bind("click", function () {
            if (e) {
                if (B.hasClass("touched")) {
                    return true
                } else {
                    jQuery("a.touched").removeClass("touched");
                    B.addClass("touched");
                    return false
                }
            }
            return true
        });
        B.mouseout(function () {
            w = setTimeout(function () {
                a(A)
            }, 500)
        });
        u.hover(function () {
            if (w) {
                clearTimeout(w);
                w = null
            } else {
                w = setTimeout(function () {
                    a(A)
                }, 500)
            }
        });
        return z
    }

    var l = 0;

    function h() {
        if (jQuery("#steamInfoGetOwnAndWish").length == 0) {
            jQuery('<iframe style="display:none" id="steamInfoGetOwnAndWish" src="' + c + '/tooltip" />').appendTo("body")
        }
    }

    var p = [];
    var q = [];
    var k = [];
    var b = [];
       
    if (localStorage.getItem("own") != null) {
        p = eval(localStorage.getItem("own"))
    }
    if (localStorage.getItem("wish") != null) {
        q = eval(localStorage.getItem("wish"))
    }
    

    function s() {
        jQuery("a").each(function () {
            var x = jQuery(this);
            var u = String(x.attr("href"));
            var v;
            if (v = u.match(/\/(store\.steampowered|steamcommunity)\.com\/(app|sub)\/(\d+)/)) {
                //console.log(x);
                //console.log(u);
                var w = v[2];
                //console.log(localStorage.valueOf())
               // console.log(p)
                var y = parseInt(v[3]);
                if (w == "app") {
                    if (p.indexOf(y) !== -1) {
                        
                        x.addClass("linkOwn")
                       


                    } else {
                        if (q.indexOf(y) !== -1) {
                            x.addClass("linkWish")
                        }
                    }
                } else {
                    if (w == "sub") {
                        if (k.indexOf(y) !== -1) {
                            x.addClass("linkOwn")
                        }
                    }
                }

                


            }

            if (x.data("_hoverAdded")) {
                return
            }
            x.data("_hoverAdded", true);
            if (!m(u)) {
                return
            }
            x.hover(function () {
                r(this);
                if (!x.hasClass("loaded")) {
                    n(f, x)
                }
                x.addClass("loaded")
            })
        });
        l += 1000;
        setTimeout(function () {
            s()
        }, l)
    }

    var d = 0;

    function j(w) {
        var v = jQuery(w);
        if (v.data("_preChecked")) {
            return
        }
        v.data("_preChecked", true);
        var u = String(v.attr("href"));
        if (!m(u)) {
            return
        }
        if (r(w)) {
            --d
        }
    }

    function n(w, x) {
        d = w;
        var u = jQuery("a");
        if (x) {
            x = u.index(x);
            for (var v = x; v < u.length; ++v) {
                j(u[v]);
                if (d <= 0) {
                    return false
                }
            }
        }
        u.each(function () {
            j(this);
            if (d <= 0) {
                return false
            }
        })
    }

    jQuery("head").prepend('<link rel="stylesheet" href="' + c + '/assets/css/steam_info.css" type="text/css" />');
    jQuery(function () {
        s();
        n(f);
        if (d > 0) {
            h()
        }
    });
    function g(w) {
        if (w.data.sub) {
            k = JSON.parse(w.data.sub)
        } else {
            if (w.data.own || w.data.wish) {
                p = JSON.parse(w.data.own);
                q = JSON.parse(w.data.wish);
                jQuery(".steam_info_trigger_text").each(function () {
                    var A = jQuery(this);
                    var y = String(A.data("href"));
                    var z;
                    if (z = y.match(/\/(store\.steampowered|steamcommunity)\.com\/app\/(\d+)/)) {
                        var B = parseInt(z[2]);
                        if (p.indexOf(B) !== -1) {
                            A.addClass("steam_info_own")
                        } else {
                            if (q.indexOf(B) !== -1) {
                                A.addClass("steam_info_wish")
                            }
                        }
                    }
                })
            } else {
                if (w.data.desura) {
                    b = JSON.parse(w.data.desura);
                    jQuery('a[href^="http://www.desura.com/games/"]').each(function () {
                        var B = jQuery(this);

                        B.addClass("linkDesura");
                        var y = String(B.attr("href"));
                        var A;
                        if (A = y.match(/\/\/www\.desura\.com(\/[^\/]*\/[^\/#?]*)/)) {
                            var z = A[1];
                            z = z.toLowerCase();
                            if (b.indexOf(z) !== -1) {
                                B.addClass("linkOwn")
                            }
                        }
                    })
                } else {
                    var u = w.data.height;
                    var x = w.data.src;
                    var v = jQuery('iframe[src="' + x + '"]').closest("div");
                    v.height(u + 1);
                    t(v)
                }
            }
        }
    }

    window.addEventListener("message", g, false)
})("http://steamdb.sinaapp.com");