1

我希望能够有条件地加载 Firebug lite(例如,基于调试变量的值)。我试过这个:

<script type="text/javascript">

    var fileref; 

    if(condition) {
        fileref=document.createElement('script')
        fileref.setAttribute("type","text/javascript")
        fileref.setAttribute("src", "https://getfirebug.com/firebug-lite.js")
    }

</script>

在我的顶部<head>,但无济于事。有人有什么建议吗?

4

2 回答 2

4

创建元素后,您需要将其插入到 DOM 中。这可以使用.appendChild().

将此添加到您的if

var head = document.getElementsByTagName("head")[0]; 
head.appendChild(fileref);
于 2011-06-08T19:28:29.580 回答
0

您可以将其添加到您的页脚。我愿意接受批评。如果你能把它做得更好,那就去吧。

<script>

        // First uncomment this to get your user agent, 
        // So we can hide Firebug Lite from the general public
        // Remember to change this if you change browsers :-)
        // document.write("<p>User agent: "+ navigator.userAgent +"</p>");

        // Note: Not sure why but Firebug Lite may open in a new tab, even if you tell it not to 
        // UNLESS you use Google Chrome for Android (NOT the Beta version!) 

        if (
            navigator.userAgent == "Mozilla/5.0 (Linux; Android 4.4.2;"
        ) 
        {    
            var fileref; 
            fileref=document.createElement("script");
            fileref.setAttribute("type","text/javascript");

            // Pick your version here https://getfirebug.com/firebuglite
            fileref.setAttribute("src", "http://fbug.googlecode.com/svn/lite/branches/firebug1.4/content/firebug-lite-dev.js");

            // Add to DOM
            var head = document.getElementsByTagName("head")[0]; 
            head.appendChild(fileref);
        }

        /* Defaults (supposedly)
        saveCookies - false
        startOpened - false
        startInNewWindow - false
        showIconWhenHidden - true
        overrideConsole - true
        ignoreFirebugElements - true
        disableXHRListener - false
        disableWhenFirebugActive - true
        enableTrace - false
        enablePersistent - false
        */

    </script>
于 2015-01-30T21:40:12.953 回答