firefox-devel.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Tue, 31 May 2011 16:05:26 +0300
changeset 872 aaf708f6a498
parent 696 0beb67c633df
child 874 80c35b648deb
permissions -rwxr-xr-x
Debugging JavaScript in Firefox with Web Console.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
668
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
-*- mode: outline; coding: utf-8; fill-column: 90 -*-
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
* Setting up environment.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
In 'about:config' set this variable:
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
  javascript.options.showInConsole = true
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
                Logs errors in chrome files to the Error Console.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
  javascript.options.strict = true
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
                Enables strict JavaScript warnings in the Error Console.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
  extensions.logging.enabled = true
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
                This will send more detailed information about installation and update
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
                problems to the Error Console.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
  https://developer.mozilla.org/en/Setting_up_extension_development_environment
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
                setting up profile, options and about developer plugin
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
* Useful developer plugin.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
** Firebug.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
Firebug integrates with Firefox to put a wealth of development tools at your fingertips
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
web page.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
  http://getfirebug.com
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
                home page
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
  https://addons.mozilla.org/firefox/addon/1843
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
                download page
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
684
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    31
** Live HTTP Headers.
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    32
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    33
 * First by adding a 'Headers' tab in 'View Page Info' of a web page.
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    34
 * Second by adding a tool in the 'Tools->Web Development' menu to be able to display http
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    35
   headers in real time (while pages are being downloaded from the Internet.
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    36
 * Third by letting you edit request headers and replay an URL (beta). Look for the Replay
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    37
   button in the live window!
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    38
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    39
This project may be of some help for the following:
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    40
696
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    41
 * Help debugging web application.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    42
 * See which kind of web server the remote site is using.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    43
 * See the cookies sent by remote site.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    44
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    45
Alternatively you can use fiddler2 (only Windows as it written in .NET)
684
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    46
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    47
  http://livehttpheaders.mozdev.org/
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    48
                home page
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    49
  https://addons.mozilla.org/en-US/firefox/addon/3829/
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    50
                download page
696
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    51
  http://www.fiddler2.com/fiddler2/
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    52
                Web Debugging Proxy
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    53
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    54
** Tamper Data.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    55
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    56
 * Use tamperdata to view and modify HTTP/HTTPS headers and post parameters.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    57
 * Trace and time http response/requests.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    58
 * Security test web applications by modifying POST parameters.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    59
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    60
Based on code and incompotable with "Live HTTP Headers" extensions.
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    61
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    62
  http://tamperdata.mozdev.org/index.html
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    63
                home page
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    64
  https://addons.mozilla.org/en-US/firefox/addon/966/
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    65
                download page
0beb67c633df Tamper Data.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 684
diff changeset
    66
  http://jimbojw.com/wiki/index.php?title=Tamper_Data
684
0ac1323ba715 Live HTTP Headers.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 683
diff changeset
    67
683
94d031debe17 How build Firefox.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 668
diff changeset
    68
* How build Firefox.
94d031debe17 How build Firefox.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 668
diff changeset
    69
94d031debe17 How build Firefox.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 668
diff changeset
    70
  https://developer.mozilla.org/en/Build_Documentation
94d031debe17 How build Firefox.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 668
diff changeset
    71
                Build Instructions
94d031debe17 How build Firefox.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 668
diff changeset
    72
  https://developer.mozilla.org/en/Mozilla_Source_Code_%28Mercurial%29
94d031debe17 How build Firefox.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 668
diff changeset
    73
                Getting Mozilla Source Code Using Mercurial
94d031debe17 How build Firefox.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 668
diff changeset
    74
668
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
* Extension security.
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
d7142397bfb3 Move developer info to firefox-devel.txt
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
  https://developer.mozilla.org/en/Security_best_practices_in_extensions
872
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    78
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    79
* Debugin Firefox.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    80
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    81
  https://developer.mozilla.org/en/how_to_get_a_stacktrace_with_windbg
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    82
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    83
* Debugin JavaScript in Firefox.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    84
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    85
** Debugging JavaScript in Firefox with Web Console.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    86
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    87
'console.log()', 'console.info()', 'console.warn()', 'console.error()'.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    88
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    89
  https://developer.mozilla.org/en/Using_the_Web_Console
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    90
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    91
** Debugging JavaScript in Firefox with Firebug.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    92
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    93
With Firebug you can use 'console.log(obj)' for logging. Also output can be grouped with
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    94
console.group("name") to start a new indentation block, and then console.groupEnd().
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    95
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    96
Same but with different coloring do 'console.debug', 'console.info', 'console.warn', and
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    97
'console.error' functions.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    98
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
    99
'console.log' can format strings in the great tradition of printf.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   100
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   101
'console.trace()' - to print trace.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   102
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   103
  http://getfirebug.com/logging
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   104
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   105
** dump().
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   106
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   107
Set in 'about:config' 'browser.dom.window.dump.enabled' to 'true'.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   108
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   109
All messages go to Web console.
aaf708f6a498 Debugging JavaScript in Firefox with Web Console.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 696
diff changeset
   110