我希望能够有条件地加载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>
的顶部,但无济于事。有人有什么建议吗?
答案 0 :(得分:4)
创建元素后,需要将其插入DOM。这可以使用.appendChild()
完成。
将此添加到您的if
:
var head = document.getElementsByTagName("head")[0];
head.appendChild(fileref);
答案 1 :(得分: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>