Safari 3 for Windows: Enable JavaScript Debugging
As you probably know, Safari 3 doesn’t allow you to turn on the debug menu within any settings dialogs. It also doesn’t come with a JavaScript Debugger either. This makes it almost impossible to do any JavaScript development for Safari. Luckily you can turn on the debug menu, and there is a debugger you can download.
Turn on the Debug menu
Step 1: Open up the Preferences.plist file in notepad.
In Windows XP: C:\Documents and Settings\USERNAME\Application Data\Apple Computer\Safari\Preferences.plist
In Windows Vista: C:\Users\USERNAME\AppData\Roaming\Apple Computer\Safari\Preferences.plist
Step 2: Add the following to the end of the file, just before “</dict></plist>”:
Step 3: Now open up Safari and you have the Debug menu
Where can I find a Debugger for Safari?
You can download the Drosera debugger here: http://nightly.webkit.org Now, before you go trying to run it, you’ll want to read the next section below.
How do I run Drosera in Windows?
Step 1: Make sure you download the Webkit Nightly Build located at http://nightly.webkit.org and extract its contents somewhere on your harddrive.
Step 2: If you’re running Win Vista then you’ll have to add the following to the WebKitPreferences.plist file, just before “</dict></plist>”:
You can find the WebKitPreferences.plist file within the same folder that the Preferences.plist file is in; it’s path is shown above. Also, if you’re running Vista and you don’t add this snippet to the WebKitPreferences.plist file, then Safari will crash and you wont be able to debug until you add it.
Step 3: Execute the run-nightly-webkit.cmd file. This will launch Safari.
Step 4: Execute the run-drosera.cmd file. This will launch Drosera.
Step 5: Execute the FindSafari.exe file. This will link up Drosera to your running instance of Safari.
If you have multiple instance you may want to close all but one. I don’t know if multiple instances of Safari will cause this to not work, but it’s better to be safe.
Step 6: Now you can access web pages with Safari and step through / break on errors in the code.
Additional Links
The WebKit Open Source Project Safai Developer FAQ - How do I debug JavaScript in Safari?
Additional Comments
I’m not exactly sure why Apple makes us jump through these hoops to be able to debug JavaScript within Safari. It’s quite a hassle, and even after all that work I still have the following issues with the experience:
- Debugging with Drosera is very slow, and actually froze up a couple times on me and I had to restart Safari and Drosera.
- Since I'm used to the debugging experience in MS Visual Studio, I am very dissapointed in Drosera. You'll know what I mean when you use it.
All in all, I hope this post saves someone the hours it took me to figure this all out. Afterall, there isn’t any instructions (at least that I could find) on the WebKit site that tells you how to actually run Drosera on Windows.
Good luck, and I hope Apple improves the developer support for Safari.
Related Posts
-
How to Hide a Column in AG-Grid and Prevent it from Displaying in the Tool Panel
11 Oct 2023 -
JavaScript: Loop through Array (using forEach)
03 Oct 2023 -
JavaScript: Parse a String to a Date
28 Sep 2023 -
JavaScript: Format Date to String
28 Sep 2023 -
JavaScript: How to Convert Map to an Array of Objects
28 Sep 2023 -
Check if element exists using JavaScript or jQuery
25 Sep 2023