Javascript на основе URL, чтобы показать все переменные на странице

Я видел javascript (и написал несколько тоже), чтобы показать содержимое входных тегов (полезно, если парень, прежде чем вы оставили пароль на входе...), но я хочу использовать JS, чтобы показать переменные Javascript, которые существуют в страница.

Причина, по которой я хочу это сделать, заключается в том, что я хочу зайти на сайт для обмена файлами, чтобы узнать, настоящий он или просто руткит.

Есть идеи?

2 ответа

Решение

В IE и FF есть инспекторы DOM. В более старых версиях IE вам понадобится раздел " Дерево документов " их аксессуаров для веб-разработчиков. В IE8 перейдите в Tools->Developer Tools и там у вас есть небольшая приставка, с которой можно поиграть, которая покажет вам эти вещи. В FF вы можете использовать встроенный инспектор DOM или Firebug (мой личный фаворит). Также есть этот букмарклет, вот код (вычищенный):

<html>
    <head>
        <script type="text/javascript">
            var wer = "asdasd";

            function getEm()
            {
                var x,d,i,v,st;
                x=open();
                d=x.document;
                d.open();

                function hE(s)
                {
                    s=s.replace(/&/g,"&amp;");
                    s=s.replace(/>/g,"&gt;");
                    s=s.replace(/</g,"&lt;");
                    return s;
                }

                d.write("<style>td{vertical-align:top; white-space:pre; } table,td,th { border: 1px solid #ccc; } div.er { color:red }</style><table border=1><thead><tr><th>Variable</th><th>Type</th><th>Value as string</th></tr></thead>");

                for (i in window)
                {
                    if (!(i in x) )
                    {
                        v=window[i];
                        d.write("<tr><td>" + hE(i) + "</td><td>" + hE(typeof(window[i])) + "</td><td>");
                        if (v===null)
                            d.write("null");
                        else if (v===undefined)
                            d.write("undefined");
                        else
                            try
                            {
                                st=v.toString();
                                if (st.length)
                                    d.write(hE(v.toString()));
                                else
                                    d.write("%C2%A0")
                            }
                            catch(er)
                            {
                                d.write("<div class=er>"+hE(er.toString())+"</div>")
                            }

                        d.write("</pre></td></tr>");
                    }
                }

                d.write("</table>");
                d.close();
            }
        </script>
    </head>
    <body onload="getEm()">
    </body>
</html>

Попробуйте эту переменную представления bookmarklet.

Другие вопросы по тегам