blob: 3a834795761e7b53f47887f999e68d352422aa93 [file] [log] [blame]
<!--
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
-->
<p>This page describes the user interface provided by <span class="weinre">weinre</span>.
<!-- ======================================================================= -->
<h2>the server home page</h2>
<p><img src="images/server-home.png">
<p>The server home page is accessed at the root URL of the server, in this case
<tt>http://localhost:8081/</tt>.
<table><tr><td><img src="images/circled-a.png">
<td>This link will launch the
<span class="weinre">weinre</span> client page, which is the debugger itself.
Clicking this link will take you to the Remote panel, described below.
</table>
<p><table><tr><td><img src="images/circled-b.png">
<td>This is the URL of the script that you add to your
web page to allow it to be debugged by the client.
</table>
<p>Additional links shown in this image are for this documentation, and some demo
pages.
<p>Further down on the page, not shown in the image, are:
<ul>
<li>The text of the <tt>&lt;script src=&gt;</tt> element you can copy and paste into your
web page.
<li>The source for a bookmarklet, to inject the debug code into any web
page displayed in your browser.
<li>Version numbers of <span class="weinre">weinre</span> and it's components.
</ul>
<!-- ======================================================================= -->
<h2>the Remote panel</h2>
<p><img src="images/panel-remote.png">
<p>The Remote panel is the initial panel of <span class="weinre">weinre</span>,
and displays some status regarding the server.
<table><tr><td><img src="images/circled-a.png">
<td>The top portion of all of the
<span class="weinre">weinre</span> panels shows the panel switcher. To switch
to a different panel, click on the panel's button. The current panel is displayed with
a highlight, as shown above for the Remote panel.
</table>
<p><table><tr><td><img src="images/circled-b.png">
<td>The Targets section of this page lists targets that are currently connected
to the server. A target is a web page that you are debugging.
In this case, there is one target connected the server. Information
about each target is displayed in the list, including host name / ip address, and
the URL the target is displaying.
</table>
<p><table><tr><td><img src="images/circled-c.png">
<td>The Clients section of this page lists the clients that are currently connected
to the server. A client is this user interface. Typically, there is just one - the client you are displaying
at the time.
</table>
<p><table><tr><td><img src="images/circled-d.png">
<td>The Server Properties section of this page displays the values of various server
properties currently in effect. Shown here are the hosts that are bound to the
server - which host names / ip addresses that the server will respond to.
</table>
<p>The colors of the entries in the Targets and Clients list indicates their
status. Blue means the Target or Client is connected to the server, but not
yet connected to a peer. Green means the Target or Client is connected to a
peer, and you can start debugging. Red means the Target or Client has
disconnected from the server, and will eventually fade away and be removed
from the list.
<p>In case there are multiple targets connected, you can switch which one you
are debugging by clicking on the item.
<!-- ======================================================================= -->
<h2>the Elements panel</h2>
<p><img src="images/panel-elements.png">
<p>The Elements panel displays your HTML DOM in a tree fashion, and properties
associated with selected elements.
<table><tr><td><img src="images/circled-a.png">
<td>The elements themselves may be expanded/collapsed via the disclosure buttons.
Elements and text can be edited by double-clicking the item to be edited.
Elements can also be deleted by selecting the element and then pressing the
delete button.
</table>
<p><table><tr><td><img src="images/circled-b.png">
<td>The sidebar area displays information about the selected element. In this case,
the Styles sidebar is expanded, showing relevant CSS rules. Some sidebars allow
editing of the contents. The Styles sidebar in particular allows you to add, edit
and remove properties and values by double clicking on them.
</table>
<!-- ======================================================================= -->
<h2>the Resources panel</h2>
<p><img src="images/panel-resources.png">
<p>The Resources panel shows WebSQL databases, and data stored in Local Storage
and Session Storage.
<table><tr><td><img src="images/circled-a.png">
<td>The left hand side of the Resources panel is the navigator. Expanding
the Databases entry will show all the Web SQL databases currently in use.
Expanding a particular database will show all the tables in that database.
</table>
<p><table><tr><td><img src="images/circled-b.png">
<td>The right hand side is the editor/viewer for whatever is selected in the
navigator pane.
When a database is selected, a prompt will appear in the editor/viewer area
where you can enter SQL statements to be executed. The results are displayed
inline. When a table is selected, all the rows from the table will be displayed.
When a Local Storage or Session Storage entry is selected, all the relevant keys
and values will be displayed. The keys and values in the Local Storage and
Session Storage tables can be edited by double-clicking.
</table>
<p><table><tr><td><img src="images/circled-c.png">
<td>The reload button will refresh the data from the target.
</table>
<!-- ======================================================================= -->
<h2>the Network panel</h2>
<p><img src="images/panel-network.png">
<p>The Network panel shows you information regarding XHR requests that you've
made.
<table><tr><td><img src="images/circled-a.png">
<td>Each XHR will be shown in a separate row in the table. Clicking the
path name of the XHR request will show additional information for that
request in the right side of the panel.
To display the table again, click the (x)
button in the left top corner of the information pane (not shown in the
image above).
</table>
<p><table><tr><td><img src="images/circled-b.png">
<td>The "dots and lines" button can be used to change the table layout to
show less information in a more compact format.
</table>
<p><table><tr><td><img src="images/circled-c.png">
<td>The "not" button will clear the entries from the table.
</table>
<!-- ======================================================================= -->
<h2>the Timeline panel</h2>
<p><img src="images/panel-timeline.png">
<p>The Timeline panel is used to show events that are occurring in the target.
Currently only two types of events are shown: timers/intervals, and user-specified
events. Use <tt>console.markTimeline("A Label")</tt> to add a user-specified
event to the timeline with the specified label.
<p>Note that timing events are not collected unless you enable the "record"
button (see below).
<table><tr><td><img src="images/circled-a.png">
<td>The left hand pane of the Timeline panel shows the events that have occurred.
Hovering over an entry will show additional detail about the event.
</table>
<p><table><tr><td><img src="images/circled-b.png">
<td>The right hand pane of the Timeline panel shows the events as they occurred
in time. Some events have other events associated with them, which will be shown
when the disclosure triangle is expanded. The top-most time line of the right
panel can have it's right and left hand edges moved to show a particular time
range in more detail.
</table>
<p><table><tr><td><img src="images/circled-c.png">
<td>The "dots and lines" button can be used to show and hide events that last
less than a fixed time (currently 15ms).
</table>
<p><table><tr><td><img src="images/circled-d.png">
<td>The "record" button is used to start or stop event collection. When
<span class="weinre">weinre</span> starts, the record button is off (black).
When you click the record button to start collecting events, it will turn
red.
</table>
<p><table><tr><td><img src="images/circled-e.png">
<td>The "not" button will clear the current timing entries.
</table>
<!-- ======================================================================= -->
<h2>the Console panel</h2>
<p><img src="images/panel-console.png">
<p>The Console panel is used to execute arbitrary JavaScript expressions/statements. It
also shows the output from various <tt>console</tt> methods, like
<tt>console.log()</tt>.
<p>In the example above, the JavaScript statements entered by the user are in
blue, the output of the statements is just below it, and messages generated by
<tt>console.log()</tt> are in black.
<table><tr><td><img src="images/circled-a.png">
<td>The "not" button will clear the console.
</table>
<p><img src="images/panel-remote-console.png">
<p>The Console can also be embedded in every panel, by clicking the "console"
button.
<table><tr><td><img src="images/circled-a.png">
<td>The "console" button will embed the console in the bottom half of the
other panels, or hide it if it's currently embedded in the other panels.
</table>