<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Pressing the Red Button &#187; firefox</title>
	<atom:link href="http://www.pressthered.com/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pressthered.com</link>
	<description>Adventures in Software Development</description>
	<lastBuildDate>Sun, 08 Jan 2012 21:28:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Firefox Extension Error: DebugNextPageMI is null</title>
		<link>http://www.pressthered.com/firefox_extension_error_debugnextpagemi_is_null/</link>
		<comments>http://www.pressthered.com/firefox_extension_error_debugnextpagemi_is_null/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 06:13:40 +0000</pubDate>
		<dc:creator>jim.richmond</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.pressthered.com/?p=551</guid>
		<description><![CDATA[I kept receiving this error message on start up after upgrading the SNUM extension I am working on: &#160;&#160;&#160;TypeError: DebugNextPageMI is null My extension updates worked fine before this upgrade. After some research, I found that the Zend 2.1 PHP Debug toolbar was causing some type of conflict. When I looked at my code, one [...]]]></description>
			<content:encoded><![CDATA[<p>I kept receiving this error message on start up after upgrading the <a href="http://www.pressthered.com/snum">SNUM</a> extension I am working on:</p>
<p>&nbsp;&nbsp;&nbsp;<em><strong>TypeError: DebugNextPageMI is null</strong></em></p>
<p>My extension updates worked fine before this upgrade. After some research, I found that the <a href="http://devcha.blogspot.com/2008/10/debugnextpagemi-is-null.html">Zend 2.1 PHP Debug toolbar was causing some type of conflict</a>.</p>
<p>When I looked at my code, one thing that was added was a reference to the jQuery extension. When I took this reference out, the problem went away. When I added it back in, sure enough it came back.</p>
<p>I didn&#8217;t have time to do any additional troubleshooting, so I decided to remove the jQuery reference. Since I was only testing jQuery in Firefox, this really wasn&#8217;t a big deal to modify the code. I was kind of disappointed that jQuery might have issues in Firefox with other extensions because I was going to rely heavily on it for another upcoming extension. I had a <a href="http://gluei.com/blog/view/using-jquery-inside-your-firefox-extension">read a few posts that jQuery was working fine in Firefox</a>.</p>
<p>It looks like it is working fine. In this case, the problem looked to be with Zend&#8217;s extension and not many of my end users would have this particular version of Zend&#8217;s php debugger toolbar installed. I am going to ignore for it now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pressthered.com/firefox_extension_error_debugnextpagemi_is_null/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3 Solutions to Invalid File Hash Error in Firefox</title>
		<link>http://www.pressthered.com/3_solutions_to_invalid_file_hash_error_in_firefox/</link>
		<comments>http://www.pressthered.com/3_solutions_to_invalid_file_hash_error_in_firefox/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 06:00:55 +0000</pubDate>
		<dc:creator>jim.richmond</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.pressthered.com/?p=539</guid>
		<description><![CDATA[If you received the following error when trying to update a Firefox extension: Firefox could not install the file at &#8220;filename.xpi&#8221; because: Invalid file hash (possible download corruption) -261 Here are three possible fixes: 1) Clear your Browser History, Browser Cache and Cookies You can do this from the menu by clicking Tools -> Clear [...]]]></description>
			<content:encoded><![CDATA[<p>If you received the following error when trying to update a Firefox extension:</p>
<p><em><strong>Firefox could not install the file at<br />
&#8220;filename.xpi&#8221;<br />
because: Invalid file hash (possible download corruption)<br />
-261</strong></em></p>
<p>Here are three possible fixes:</p>
<p><strong>1) Clear your Browser History, Browser Cache and Cookies</strong><br />
You can do this from the menu by clicking Tools -> Clear Private Data. Select Browsing History, Cache and Cookies. Then &#8220;Clear Private Data Now&#8221;.<br />
<div id="attachment_548" class="wp-caption aligncenter" style="width: 310px"><img src="http://www.pressthered.com/wp-content/uploads/2009/07/ClearPrivateData-300x238.jpg" alt="Clear private data in Firefox to fix error message." title="Clear Private Data in Firefox" width="300" height="238" class="size-medium wp-image-548" /><p class="wp-caption-text">Clear private data in Firefox to fix error message.</p></div></p>
<p><strong>2) Manually Upgrade/Install the Extension</strong><br />
This is done by right clicking on a download link for the extension, and clicking Save As. Save the file to your desktop. then drag the file to a Firefox window.</p>
<p><strong>3) Disable and Enable the Extension</strong><br />
From the Add-ons window, highlight the extension and click the Disable button. Restart Firefox, re-enable and Restart Firefox again.</p>
<p>Option 1 worked for me. Option 2 should always work. Option 3 is kind of a stretch (but worked in some user cases).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pressthered.com/3_solutions_to_invalid_file_hash_error_in_firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Mistakes in Firefox&#8217;s Spelling Dictionary</title>
		<link>http://www.pressthered.com/fixing_mistakes_in_firefoxs_spelling_dictionary/</link>
		<comments>http://www.pressthered.com/fixing_mistakes_in_firefoxs_spelling_dictionary/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 06:23:42 +0000</pubDate>
		<dc:creator>jim.richmond</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.pressthered.com/?p=460</guid>
		<description><![CDATA[If you accidentally add a misspelled word to your Firefox dictionary, here are the steps to remove it. The words that you have added to your dictionary are stored in file called &#8220;persdict.dat&#8221;. It is located in your Firefox Profile directory. To Get to your Firefox Profile Directory in Windows: Click Start Menu -> Run, [...]]]></description>
			<content:encoded><![CDATA[<p>If you accidentally add a misspelled word to your Firefox dictionary, here are the steps to remove it. </p>
<p>The words that you have added to your dictionary are stored in file called &#8220;persdict.dat&#8221;. It is located in your <strong>Firefox Profile directory</strong>. </p>
<ol>
<strong>To Get to your Firefox Profile Directory in Windows:</strong></p>
<li>Click Start Menu -> Run, type &#8220;%APPDATA%&#8221;, then OK.</li>
<li>This will open your application data folder.</li>
</ol>
<p>From there, the &#8220;persdict.dat&#8221; file is located in:<br />
<em>Mozilla\Firefox\Profiles\xxxxxxxx.default</em></p>
<p>Once there, you can edit the text file with notepad. There is one word per line. Remove the line to remove the misspelled word from your Firefox dictionary. Then save and restart Firefox.</p>
<p><strong>Important Note:</strong> (before trying to remove a word)<br />
If you have just added the word to your dictionary, it will not show up in the text file until you completely close all Firefox windows.</p>
<p><strong>To Get to your Firefox Profile In Other Operating Systems:</strong><br />
The steps are the same for Firefox on other operating systems except for the location of the profile directory.<br />
Mac:<br />
<em>~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/</em><br />
Linux:<br />
<em>~/.mozilla/firefox/xxxxxxxx.default/</em></p>
<p><a href="http://cavemonkey50.com/2007/03/edit-firefoxs-spelling-dictionary/">Additional Reference</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pressthered.com/fixing_mistakes_in_firefoxs_spelling_dictionary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full Page Refresh in Firefox</title>
		<link>http://www.pressthered.com/full_page_refresh_in_firefox/</link>
		<comments>http://www.pressthered.com/full_page_refresh_in_firefox/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 06:16:30 +0000</pubDate>
		<dc:creator>jim.richmond</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.pressthered.com/?p=370</guid>
		<description><![CDATA[Hold down Control Key, Click Refresh Button or Control-F5 The keyboard shortcut is a bit of a hand stretch so I stick with the control key and mouse click. How does this help? Doing a full page refresh will go back to the web server to get the latest version of the page you are [...]]]></description>
			<content:encoded><![CDATA[<p>Hold down <strong>Control Key</strong>, Click<strong> Refresh Button</strong></p>
<p>or</p>
<p><strong>Control-F5</strong></p>
<p>The keyboard shortcut is a bit of a hand stretch so I stick with the control key and mouse click.</p>
<p><strong>How does this help?</strong><br />
Doing a full page refresh will go back to the web server to get the latest version of the page you are viewing. This helps with troubleshooting or when you are seeing results that are unexpected. To confirm you can force a refresh of the page.<br />
You might also find this helpful when coding on your local machine, sometimes the browser will not detect a javascript change you are working on. Getting in the habit of doing a full refresh will save your sanity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pressthered.com/full_page_refresh_in_firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I Learned While Developing a Firefox Extension (Add-on)</title>
		<link>http://www.pressthered.com/what_i_learned_while_developing_a_firefox_extension_add-on/</link>
		<comments>http://www.pressthered.com/what_i_learned_while_developing_a_firefox_extension_add-on/#comments</comments>
		<pubDate>Sun, 17 May 2009 06:42:43 +0000</pubDate>
		<dc:creator>jim.richmond</dc:creator>
				<category><![CDATA[Tech Tips]]></category>
		<category><![CDATA[extension development]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.pressingtheredbutton.com/?p=108</guid>
		<description><![CDATA[I recently developed my first Firefox extension: Social Network User Mapper. Here is a brain dump / postmortem of what I learned. 1) All Add-ons are Open Source. At least the javascript and xul part are. This is extremely helpful when you are starting out. Find an extension that works the way you want yours [...]]]></description>
			<content:encoded><![CDATA[<p>I recently developed my first Firefox extension: <a href="http://www.pressingtheredbutton.com/snum">Social Network User Mapper</a>. Here is a brain dump / postmortem of what I learned.</p>
<p><strong>1) All Add-ons are Open Source.</strong><br />
At least the javascript and xul part are. This is extremely helpful when you are starting out. Find an extension that works the way you want yours to and find out how it works. You should adhere to the author&#8217;s license, however most are liberally licensed and free to reuse. </p>
<p><strong>2) You Can Make Ajax Calls without a Proxy</strong><br />
There are a variety of ways to do this. The following is the easiest way I found to do it in my case. I utilized a <a href="http://www.kawa.net/works/js/jkl/parsexml-e.html">third party script</a>. In three lines I was able to make a call to a REST xml web service (including a call back function). It returns a JSON object of the returned XML. If you need more features, you could try <a href="http://mootools.net">mootools</a>.</p>
<p><strong>3) XUL has a Reference and Tutorial Online</strong><br />
Some more examples would be good but it is complete. Here is the <a href="https://developer.mozilla.org/en/XUL_Reference">reference</a> and <a href="https://developer.mozilla.org/En/XUL_Tutorial">tutorial</a>.</p>
<p><strong>4) Some Hello World Examples are Available</strong><br />
It is good to start out with a hello world example if you are new to extension development (but have development experience). I liked <a href="https://developer.mozilla.org/en/Building_an_Extension">this one</a>. Getting through this sample will give you good overview and test how motivated you are to make you own extension. Here is a <a href="https://developer.mozilla.org/En/Firefox_addons_developer_guide/Let%27s_build_a_Firefox_extension">newer but less complete one</a> and an <a href="http://kb.mozillazine.org/Getting_started_with_extension_development">older one</a>.</p>
<p><strong>5) Debugging Extensions</strong><br />
First I would follow the steps in the article to <a href="https://developer.mozilla.org/en/Setting_up_extension_development_environment">set up your development environment</a>. I used a combination of the Error Console that comes with Firefox and the <a href="http://www.mozilla.org/projects/venkman/">Venkman debugger</a>. There is also the <a href="http://getfirebug.com/">Firebug debugger</a> that is actually better (imho) but I stuck with later combination and it worked fine. Some additional tips: You can add the &#8220;debugger;&#8221; anywhere in your code to launch the debugger then start adding breakpoints. Before doing this, make sure you un-check the &#8220;Exclude Browser Files&#8221; in the Debug menu so you can debug your extensions.</p>
<p><strong>6) Extensions That Help You Create Extensions</strong><br />
I only tried <a href="https://addons.mozilla.org/en-US/firefox/addon/7434">Extension Developer</a> and it was all I needed. The Extension Builder that is included is easy to use and packages your files into an xpi, which is good when you are getting your extension ready to deploy.</p>
<p><strong>7) Logging Messages to the Console</strong><br />
It helped to be able to <a href="https://developer.mozilla.org/en/Components.utils.reportError">log informational messages to to the console</a> when making web service calls. I also read that there is a better <a href="https://addons.mozilla.org/firefox/addon/1815">Console</a>. I didn&#8217;t have a chance to try it.</p>
<p><strong> <img src='http://www.pressthered.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Extreme XUL Programming</strong><br />
This isn&#8217;t extension but a <a href="http://www.faser.net/mab/">XUL front end to the amazon web service</a>. Check out his <a href="http://www.faser.net/f9">newer version too</a>.</p>
<p><strong>9) Extension Developer Books</strong><br />
I didn&#8217;t find much that was recent so I stuck with online info.</p>
<p><strong>10) Running Extension Code on Page Load</strong><br />
You can run some of your <a href="https://developer.mozilla.org/En/Code_snippets/On_page_load">extension code on every page that loads</a> including new tabs and such. My extension needed to do a quick parse of the url once a new page was viewed. You could try the window onfocus event as I saw another extension doing but I didn&#8217;t have much luck.</p>
<p><strong>11) Packaging Your Extension and Enabling Auto Update Checking</strong><br />
If you made it this far, unfortunately it is not over. I had more issues then I care too admit but eventually got the process down. It might of been easier if I created an account on the <a href="https://addons.mozilla.org">official firefox addons site</a> and deployed my applications from there but I didn&#8217;t. I wanted to host from my site using a non https link because I thought it would be easier. The documentation is out there but its hard to tell what&#8217;s relevant to the latest versions of Firefox (I was on Firefox 3). Not only did I have to sign my install.rdf and update.rdf but also include a sha1 key for the xpi file (for every new version). I gathered info from a culmination of these links and tools:<br />
- <a href="https://developer.mozilla.org/en/extension_packaging">Extension Packaging</a><br />
- <a href="https://developer.mozilla.org/index.php?title=En/Extension_Versioning%2C_Update_and_Compatibility">Extension Versioning</a>. I had issues with starting my version with a 0.<br />
- <a href="http://www.mercille.org/snippets/xpiSigning.php">Signing an Extension</a> or <a href="https://www.mozdevgroup.com/docs/pete/Signing-an-XPI.html">this link</a>. This removes the message the the &#8220;author is unknown&#8221;. I didn&#8217;t bother with my extension.<br />
- <a href="https://developer.mozilla.org/en/McCoy">Securing your install.rdf and update.rdf</a></p>
<p><strong>Conclusion</strong><br />
Well it definitely was a learning experience, hope this helps. I already have ideas for my next extension.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pressthered.com/what_i_learned_while_developing_a_firefox_extension_add-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

