代码之家  ›  专栏  ›  技术社区  ›  Moshe

基于URL的Javascript显示页面中的所有变量

  •  0
  • Moshe  · 技术社区  · 15 年前

    我之所以想这样做是因为我想查看一个文件共享站点,看看它是真的还是仅仅是一个rootkit温床。

    有什么想法吗?

    2 回复  |  直到 10 年前
        1
  •  1
  •   AmbrosiaDevelopments    15 年前

    IE和FF中都有DOM检查员。在旧的IE版本中,您需要 Document Tree Web Developer Accessories . 在IE8中,可以使用工具->开发人员工具,在那里你有一个很好的小控制台,可以向你展示这些东西。在FF中,您可以使用内置的DOM检查器或 Firebug (我个人最喜欢的)。还有这个 bookmarklet

    <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>
    
        2
  •  4
  •   Chris Fulstow    15 年前

    试试这个 view-variables 书签。