- 浏览: 521758 次
- 性别:
- 来自: 青岛
文章分类
- 全部博客 (222)
- 帖子来的 (3)
- JavaScript (25)
- Java (10)
- DataBase (2)
- el表达式 (1)
- html (4)
- FCKEDITOR和TINYMCE (3)
- tomcat (5)
- JavaEE (12)
- Eclipse (7)
- Windows (3)
- Dos命令 (1)
- Oracle (20)
- 乱搞 (1)
- AHK (3)
- TC (2)
- vim (12)
- Perl (13)
- ANT (6)
- Android (3)
- antlr (1)
- SSH (14)
- C/C++ (3)
- wordpress (4)
- CSS (3)
- java2D (1)
- Lucene (4)
- Linux (9)
- jquery (4)
- testsomething (7)
- JVM监控优化 (3)
- emacs (4)
- svn cvs版本控制 (2)
- 硬件 (1)
- j2me (2)
- maven (5)
- WebService (4)
- aspectJ (1)
- 算法 (2)
- mysql (1)
- project (2)
- 正则表达式 (2)
- firefox (1)
最新评论
-
直觉:
gua 顶
com.opensymphony.xwork2.inject.DependencyException -
fordfelix:
加了以后 任然存在这个异常 求解!!
struts2 json 插件 @JSON(serialize = false) -
fangyan_oracle:
谢谢了, 很受用
用IE修改当前页面内容的代码zzzz -
cfying:
[flash=200,200][/flash][url][/u ...
精解window.setTimeout()使用方式与参数传递问题!(转) -
qinglangee:
tiewazi 写道param必须是全局变量(即window对 ...
精解window.setTimeout()使用方式与参数传递问题!(转)
IE中使用firebug
原文地址:
http://remysharp.com/2007/03/13/firebug-in-ie-for-any-web-site/
在IE新建一个链接,属性如下:(去掉换行回车及空格)
在要调试的页面点链接即可
d:/zh/Files/Ajax/ieFirebug/firebug.js
firebug.js文件内容
原文地址:
http://remysharp.com/2007/03/13/firebug-in-ie-for-any-web-site/
http://remysharp.com/2007/03/13/firebug-in-ie-for-any-web-site/
在IE新建一个链接,属性如下:(去掉换行回车及空格)
在要调试的页面点链接即可
javascript: var h=document.getElementsByTagName('html'); h[0].setAttribute('debug', 'true'); if (!document.getElementById('_fb')) { var q=document.createElement('script'); q.setAttribute('id', '_fb'); q.setAttribute('src', 'http://remysharp.com/wp-content/uploads/2007/03/firebug.js'); document.getElementsByTagName('body')[0].appendChild(q); void(q); }else{ void(window.console.open()); }
d:/zh/Files/Ajax/ieFirebug/firebug.js
firebug.js文件内容
if (!("console" in window) || !("firebug" in console)) { (function() { window.console = { log: function() { logFormatted(arguments, ""); }, debug: function() { logFormatted(arguments, "debug"); }, info: function() { logFormatted(arguments, "info"); }, warn: function() { logFormatted(arguments, "warning"); }, error: function() { logFormatted(arguments, "error"); }, assert: function(truth, message) { if (!truth) { var args = []; for (var i = 1; i < arguments.length; ++i) args.push(arguments[i]); logFormatted(args.length ? args : ["Assertion Failure"], "error"); throw message ? message : "Assertion Failure"; } }, dir: function(object) { var html = []; var pairs = []; for (var name in object) { try { pairs.push([name, object[name]]); } catch (exc) { } } pairs.sort(function(a, b) { return a[0] < b[0] ? -1 : 1; }); html.push('<table>'); for (var i = 0; i < pairs.length; ++i) { var name = pairs[i][0], value = pairs[i][1]; html.push('<tr>', '<td class="propertyNameCell"><span class="propertyName">', escapeHTML(name), '</span></td>', '<td><span class="propertyValue">'); appendObject(value, html); html.push('</span></td></tr>'); } html.push('</table>'); logRow(html, "dir"); }, dirxml: function(node) { var html = []; appendNode(node, html); logRow(html, "dirxml"); }, group: function() { logRow(arguments, "group", pushGroup); }, groupEnd: function() { logRow(arguments, "", popGroup); }, time: function(name) { timeMap[name] = (new Date()).getTime(); }, timeEnd: function(name) { if (name in timeMap) { var delta = (new Date()).getTime() - timeMap[name]; logFormatted([name+ ":", delta+"ms"]); delete timeMap[name]; } }, count: function() { this.warn(["count() not supported."]); }, trace: function() { this.warn(["trace() not supported."]); }, profile: function() { this.warn(["profile() not supported."]); }, profileEnd: function() { }, clear: function() { consoleBody.innerHTML = ""; }, open: function() { toggleConsole(true); }, close: function() { if (frameVisible) toggleConsole(); }, evaled_lines: [], evaled_lines_pointer: 0 }; // ******************************************************************************************** var consoleFrame = null; var consoleBody = null; var commandLine = null; var frameVisible = false; var messageQueue = []; var groupStack = []; var timeMap = {}; var clPrefix = ">>> "; var isFirefox = navigator.userAgent.indexOf("Firefox") != -1; var isIE = navigator.userAgent.indexOf("MSIE") != -1; var isOpera = navigator.userAgent.indexOf("Opera") != -1; var isSafari = navigator.userAgent.indexOf("AppleWebKit") != -1; // ******************************************************************************************** function toggleConsole(forceOpen) { frameVisible = forceOpen || !frameVisible; if (consoleFrame) consoleFrame.style.visibility = frameVisible ? "visible" : "hidden"; else waitForBody(); } function focusCommandLine() { toggleConsole(true); if (commandLine) commandLine.focus(); } function waitForBody() { if (document.body) createFrame(); else setTimeout(waitForBody, 200); } function createFrame() { if (consoleFrame) return; window.onFirebugReady = function(doc) { window.onFirebugReady = null; var toolbar = doc.getElementById("toolbar"); toolbar.onmousedown = onSplitterMouseDown; commandLine = doc.getElementById("commandLine"); addEvent(commandLine, "keydown", onCommandLineKeyDown); addEvent(doc, isIE || isSafari ? "keydown" : "keypress", onKeyDown); consoleBody = doc.getElementById("log"); layout(); flush(); } var baseURL = getFirebugURL(); consoleFrame = document.createElement("iframe"); // consoleFrame.setAttribute("src", baseURL+"/firebug.html"); consoleFrame.setAttribute("frameBorder", "0"); consoleFrame.style.visibility = (frameVisible ? "visible" : "hidden"); //consoleFrame.style.zIndex = "2147483647"; consoleFrame.style.zIndex = "999999"; consoleFrame.style.position = "fixed"; consoleFrame.style.width = "100%"; consoleFrame.style.left = "0"; consoleFrame.style.bottom = "0"; consoleFrame.style.height = "200px"; document.body.appendChild(consoleFrame); consoleFrame.contentWindow.document.write(getFirebugConsoleiFrame()); consoleFrame.contentWindow.document.close(); } // RS upgrade function getFirebugConsoleiFrame() { var html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Firebug</title><link rel="stylesheet" type="text/css" href="http://getfirebug.com/firebug/firebug.css"></head><body><div id="toolbar" class="toolbar"><a href="#" onclick="parent.console.clear()">Clear</a><span class="toolbarRight"><a href="#" onclick="parent.console.close()">Close</a></span></div><div id="log"></div><input type="text" id="commandLine"><script>parent.onFirebugReady(document);</script></body></html>'; return html.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); } function getFirebugURL() { var scripts = document.getElementsByTagName("script"); for (var i = 0; i < scripts.length; ++i) { if (scripts[i].src.indexOf("firebug.js") != -1) { var lastSlash = scripts[i].src.lastIndexOf("/"); return scripts[i].src.substr(0, lastSlash); } } } function evalCommandLine() { var text = commandLine.value; commandLine.value = ""; console.evaled_lines[console.evaled_lines.length] = text; console.evaled_lines_pointer = console.evaled_lines.length; logRow([clPrefix, text], "command"); var value; try { value = eval(text); } catch (exc) { } console.log(value); } function layout() { var toolbar = consoleBody.ownerDocument.getElementById("toolbar"); var height = consoleFrame.offsetHeight - (toolbar.offsetHeight + commandLine.offsetHeight); consoleBody.style.top = toolbar.offsetHeight + "px"; consoleBody.style.height = height + "px"; commandLine.style.top = (consoleFrame.offsetHeight - commandLine.offsetHeight) + "px"; } function logRow(message, className, handler) { if (consoleBody) writeMessage(message, className, handler); else { messageQueue.push([message, className, handler]); waitForBody(); } } function flush() { var queue = messageQueue; messageQueue = []; for (var i = 0; i < queue.length; ++i) writeMessage(queue[i][0], queue[i][1], queue[i][2]); } function writeMessage(message, className, handler) { var isScrolledToBottom = consoleBody.scrollTop + consoleBody.offsetHeight >= consoleBody.scrollHeight; if (!handler) handler = writeRow; handler(message, className); if (isScrolledToBottom) consoleBody.scrollTop = consoleBody.scrollHeight - consoleBody.offsetHeight; } function appendRow(row) { var container = groupStack.length ? groupStack[groupStack.length-1] : consoleBody; container.appendChild(row); } function writeRow(message, className) { var row = consoleBody.ownerDocument.createElement("div"); row.className = "logRow" + (className ? " logRow-"+className : ""); row.innerHTML = message.join(""); appendRow(row); } function pushGroup(message, className) { logFormatted(message, className); var groupRow = consoleBody.ownerDocument.createElement("div"); groupRow.className = "logGroup"; var groupRowBox = consoleBody.ownerDocument.createElement("div"); groupRowBox.className = "logGroupBox"; groupRow.appendChild(groupRowBox); appendRow(groupRowBox); groupStack.push(groupRowBox); } function popGroup() { groupStack.pop(); } // ******************************************************************************************** function logFormatted(objects, className) { var html = []; var format = objects[0]; var objIndex = 0; if (typeof(format) != "string") { format = ""; objIndex = -1; } var parts = parseFormat(format); for (var i = 0; i < parts.length; ++i) { var part = parts[i]; if (part && typeof(part) == "object") { var object = objects[++objIndex]; part.appender(object, html); } else appendText(part, html); } for (var i = objIndex+1; i < objects.length; ++i) { appendText(" ", html); var object = objects[i]; if (typeof(object) == "string") appendText(object, html); else appendObject(object, html); } logRow(html, className); } function parseFormat(format) { var parts = []; var reg = /((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/; var appenderMap = {s: appendText, d: appendInteger, i: appendInteger, f: appendFloat}; for (var m = reg.exec(format); m; m = reg.exec(format)) { var type = m[8] ? m[8] : m[5]; var appender = type in appenderMap ? appenderMap[type] : appendObject; var precision = m[3] ? parseInt(m[3]) : (m[4] == "." ? -1 : 0); parts.push(format.substr(0, m[0][0] == "%" ? m.index : m.index+1)); parts.push({appender: appender, precision: precision}); format = format.substr(m.index+m[0].length); } parts.push(format); return parts; } function escapeHTML(value) { function replaceChars(ch) { switch (ch) { case "<": return "<"; case ">": return ">"; case "&": return "&"; case "'": return "'"; case '"': return """; } return "?"; }; return String(value).replace(/[<>&"']/g, replaceChars); } function objectToString(object) { try { return object+""; } catch (exc) { return null; } } // ******************************************************************************************** function appendText(object, html) { html.push(escapeHTML(objectToString(object))); } function appendNull(object, html) { html.push('<span class="objectBox-null">', escapeHTML(objectToString(object)), '</span>'); } function appendString(object, html) { html.push('<span class="objectBox-string">"', escapeHTML(objectToString(object)), '"</span>'); } function appendInteger(object, html) { html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>'); } function appendFloat(object, html) { html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>'); } function appendFunction(object, html) { var reName = /function ?(.*?)\(/; var m = reName.exec(objectToString(object)); var name = m ? m[1] : "function"; html.push('<span class="objectBox-function">', escapeHTML(name), '()</span>'); } function appendObject(object, html) { try { if (object == undefined) appendNull("undefined", html); else if (object == null) appendNull("null", html); else if (typeof object == "string") appendString(object, html); else if (typeof object == "number") appendInteger(object, html); else if (typeof object == "function") appendFunction(object, html); else if (object.nodeType == 1) appendSelector(object, html); else if (typeof object == "object") appendObjectFormatted(object, html); else appendText(object, html); } catch (exc) { } } function appendObjectFormatted(object, html) { var text = objectToString(object); var reObject = /\[object (.*?)\]/; var m = reObject.exec(text); html.push('<span class="objectBox-object">', m ? m[1] : text, '</span>') } function appendSelector(object, html) { html.push('<span class="objectBox-selector">'); html.push('<span class="selectorTag">', escapeHTML(object.nodeName.toLowerCase()), '</span>'); if (object.id) html.push('<span class="selectorId">#', escapeHTML(object.id), '</span>'); if (object.className) html.push('<span class="selectorClass">.', escapeHTML(object.className), '</span>'); html.push('</span>'); } function appendNode(node, html) { if (node.nodeType == 1) { html.push( '<div class="objectBox-element">', '<<span class="nodeTag">', node.nodeName.toLowerCase(), '</span>'); for (var i = 0; i < node.attributes.length; ++i) { var attr = node.attributes[i]; if (!attr.specified) continue; html.push(' <span class="nodeName">', attr.nodeName.toLowerCase(), '</span>="<span class="nodeValue">', escapeHTML(attr.nodeValue), '</span>"') } if (node.firstChild) { html.push('></div><div class="nodeChildren">'); for (var child = node.firstChild; child; child = child.nextSibling) appendNode(child, html); html.push('</div><div class="objectBox-element"></<span class="nodeTag">', node.nodeName.toLowerCase(), '></span></div>'); } else html.push('/></div>'); } else if (node.nodeType == 3) { html.push('<div class="nodeText">', escapeHTML(node.nodeValue), '</div>'); } } // ******************************************************************************************** function addEvent(object, name, handler) { if (document.all) object.attachEvent("on"+name, handler); else object.addEventListener(name, handler, false); } function removeEvent(object, name, handler) { if (document.all) object.detachEvent("on"+name, handler); else object.removeEventListener(name, handler, false); } function cancelEvent(event) { if (document.all) event.cancelBubble = true; else event.stopPropagation(); } function onError(msg, href, lineNo) { var html = []; var lastSlash = href.lastIndexOf("/"); var fileName = lastSlash == -1 ? href : href.substr(lastSlash+1); html.push( '<span class="errorMessage">', msg, '</span>', '<div class="objectBox-sourceLink">', fileName, ' (line ', lineNo, ')</div>' ); logRow(html, "error"); }; function onKeyDown(event) { if (event.keyCode == 123) toggleConsole(); else if ((event.keyCode == 108 || event.keyCode == 76) && event.shiftKey && (event.metaKey || event.ctrlKey)) focusCommandLine(); else if (event.keyCode == 38) { if (console.evaled_lines_pointer > 0) { console.evaled_lines_pointer--; commandLine.value = console.evaled_lines[console.evaled_lines_pointer]; } } else if (event.keyCode == 40) { if (console.evaled_lines_pointer < console.evaled_lines.length - 1) { console.evaled_lines_pointer++; commandLine.value = console.evaled_lines[console.evaled_lines_pointer]; } } else return; cancelEvent(event); } function onSplitterMouseDown(event) { if (isSafari || isOpera) return; addEvent(document, "mousemove", onSplitterMouseMove); addEvent(document, "mouseup", onSplitterMouseUp); for (var i = 0; i < frames.length; ++i) { addEvent(frames[i].document, "mousemove", onSplitterMouseMove); addEvent(frames[i].document, "mouseup", onSplitterMouseUp); } } function onSplitterMouseMove(event) { var win = document.all ? event.srcElement.ownerDocument.parentWindow : event.target.ownerDocument.defaultView; var clientY = event.clientY; if (win != win.parent) clientY += win.frameElement ? win.frameElement.offsetTop : 0; var height = consoleFrame.offsetTop + consoleFrame.clientHeight; var y = height - clientY; consoleFrame.style.height = y + "px"; layout(); } function onSplitterMouseUp(event) { removeEvent(document, "mousemove", onSplitterMouseMove); removeEvent(document, "mouseup", onSplitterMouseUp); for (var i = 0; i < frames.length; ++i) { removeEvent(frames[i].document, "mousemove", onSplitterMouseMove); removeEvent(frames[i].document, "mouseup", onSplitterMouseUp); } } function onCommandLineKeyDown(event) { if (event.keyCode == 13) evalCommandLine(); else if (event.keyCode == 27) commandLine.value = ""; } window.onerror = onError; addEvent(document, isIE || isSafari ? "keydown" : "keypress", onKeyDown); if (document.documentElement.getAttribute("debug") == "true") toggleConsole(true); })(); }
原文地址:
http://remysharp.com/2007/03/13/firebug-in-ie-for-any-web-site/
相关推荐
IE插件 类似Firebug,IE firebug插件,IE WebDeveloper ,IE的测试网页插件,在IE中处理CSS样式问题
firebug-lite 可在IE等浏览器中使用 firebug-lite 可在IE等浏览器中使用 firebug-lite 可在IE等浏览器中使用 firebug-lite 可在IE等浏览器中使用
类似于firebug的网页开发工具,适用于IE版本,遨游 Firebug集成到傲游浏览器中,将提供一个良好的网页开发工具,当您浏览任何网页时,可以直接编辑,调试和监测网页中的CSS,HTML和JavaScript元素。(Firebug ...
ie下类似火狐Firebug的插件 Internet Explorer Developer Toolbar Instructions After installing the Developer Toolbar, restart Internet Explorer and click the Developer Toolbar icon in the command bar to ...
IE6下调试工具-js写的高仿firebug
先来两张预览图,测试浏览器为搜狗浏览器。 使用方法: 在任意页面点击刚才添加的收藏,然后等...虽然现在能在IE是使用fb了,但是IE上的fb缺陷还是有的,比如html代码不会实时更新,尤其是在测试jquery插件的时候就
jqgrid非常简单的例子,读取本地简单的XML,还有IE下的firebug调试工具,零分分享,只求资源共享更好交流发展
firebug-,可使用在IE、Opera、Safari 浏览器上,可查看 DOM 元素、跟踪 XHR,操纵 HTML、 CSS 和 JavaScript
类似firebug的IE下的工具(包括debugbar v4.5.1 附注册 ,companionjs,microsoft javascript debuger
这几个软件的结合可以实现类似于firebug的IE下调试工具。 1.打开IE菜单“工具”--“Internet选项”--“高级”,找到“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(在Internet Explorer之外)”,将两个选项...
15.5 在IE中使用Firebug 15.5.1 前端调试利器DebugBar 15.5.2 IE下的优秀JavaScript调试工具Companion.JS 15.5.3 DebugBar和Companion.JS的基本操作 15.6 调试技巧 15.6.1 在Firebug中直接调试脚本 15.6.2 ...
15.5 在IE中使用Firebug 15.5.1 前端调试利器DebugBar 15.5.2 IE下的优秀JavaScript调试工具Companion.JS 15.5.3 DebugBar和Companion.JS的基本操作 15.6 调试技巧 15.6.1 在Firebug中直接调试脚本 15.6.2 ...
Firebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等,但FireBug最吸引人的就是javascript调试功能,使用起来非常方便,而且在各种浏览器下都能使用(IE,Firefox,Opera, Safari)。除此之外,其他功能...
IEDevToolBar-IE6下的FireBug网页调试工具(IE6兼容测试的好帮手)WEB开发人员的福音。 微软的IEDevToolBar,这是一个免费的专门为Web开发人员制作的IE插件,IE插件IEDevToolBar可以帮助我们分析网站的布局结构,有...
Firebug是网页浏览器Mozilla Firefox下的一款开发类插件,现属于Firefox的五星级强力推荐插件之一。...文件的扩展外是 xpi 直接拖入到 FireFox中就可以安装了。 安装好后按 F12 就会弹出调试窗口 Firebug截图
rebug是firefox下的一个扩展,能够调试所有网站语言,如Html,Css等,但FireBug最吸引人的就是javascript调试功能,使用起来非常方便,而且在各种浏览器下都能使用(IE,Firefox,Opera, Safari)。除此之外,其他功能还...
用于IE中 JS、 HTML、CSS 调试 FireBug 简单模式。
IE中的FIREBUG,可以很好的学习JAVASCRIPT