Installing Extensions and Themes From Web Pages

  • Revision slug: Installing_Extensions_and_Themes_From_Web_Pages
  • Revision title: Installing Extensions and Themes From Web Pages
  • Revision id: 128330
  • Created:
  • Creator: Jenfarr
  • Is current revision? No
  • Comment Pirates

Revision Content

There are a variety of ways you can install extensions and themes from web pages, including direct linking to the XPI files and using the InstallTrigger object.

Extension and web authors are encouraged to use the method described below to install XPIs, as it provides the best experience to users.

<!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" xml:lang="en" lang="en" id="facebook"> <head> <title>Facebook | Pirates</title> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <meta name="robots" content="noodp" /><meta name="description" content="Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, upload an unlimited number of photos, share links and videos, and learn more about the people they meet." /> <script type="text/javascript">var cc=new Image();cc.onload=function(){cc.hit=(typeof(Env)=="undefined");};cc.src="http://static.ak.facebook.com/images/global_menu_space.gif?12:37897";Env={method:"GET",dev:0,start:(new Date( )).getTime(),cache:(((typeof(cc)!="undefined")&&cc.hit)||0),ps_limit:5,ps_ratio:4,pkgv:19};</script><link rel="stylesheet" href="http://static.ak.facebook.com/css/common.css.pkg.php?c=19:12:61009" type="text/css" media="all"/> <link rel="stylesheet" href="http://static.ak.facebook.com/css/apps_menu.css?12:43718" type="text/css"/> <link rel="stylesheet" href="http://static.ak.facebook.com/css/typeahead.css?12:19905" type="text/css"/> <link rel="stylesheet" href="http://static.ak.facebook.com/css/dialog.css?12:39930" type="text/css"/> <link rel="stylesheet" href="http://static.ak.facebook.com/css/attachments.css?12:59060" type="text/css"/> <link rel="stylesheet" href="http://static.ak.facebook.com/css/captcha/captcha.css?12:60350" type="text/css"/> <link rel="stylesheet" href="http://static.ak.facebook.com/css/canvas.css?12:61035" type="text/css"/> <link rel="stylesheet" href="http://static.ak.facebook.com/css/api/confirmation.css?12:59219" type="text/css"/>{{mediawiki.external('if lte IE 6')}}><style type="text/css" media="screen">/* <![CDATA{{mediawiki.external(' */ @import url(http://static.ak.facebook.com/css/ie6.css?12:60224); /* ')}}]> */</style><!{{mediawiki.external('endif')}} {{mediawiki.external('if gte IE 7')}}><style type="text/css" media="screen">/* <![CDATA{{mediawiki.external(' */ @import url(http://static.ak.facebook.com/css/ie7.css?12:60790); /* ')}}]> */</style><!{{mediawiki.external('endif')}} <script type="text/javascript" src="http://static.ak.facebook.com/js/common.js.pkg.php?c=19:12:61202"></script> <script type="text/javascript" src="http://static.ak.facebook.com/js/canvas.js?12:44710"></script> <script type="text/javascript" src="http://static.ak.facebook.com/js/api/confirmation.js?12:59219"></script> <script type="text/javascript" src="http://static.ak.facebook.com/js/search_typeaheadpro.js?12:59982"></script><link rel="search" type="application/opensearchdescription+xml" href="http://static.ak.facebook.com/opensearch_desc.xml?12:27839" title="Facebook" /> <link rel="shortcut icon" href="http://static.ak.facebook.com/favicon.ico" /> </head> <body class="fbframe">

<iframe style="border: 0pt none rgb(255, 255, 255); overflow: hidden; margin-right: -3px; margin-top: -5px; margin-left: 652px; position: absolute; top: 40px;" src="http://cubics.com/displayAd.aspx?pid=18&adSize=120x600&bgColor=#ffffff&textColor=#000000&linkColor=#0033ff&fb_sig_in_iframe=1&fb_sig_time=1190796223.7423&fb_sig_added=1&fb_sig_user=739910258&fb_sig_profile_update_time=1190679646&fb_sig_session_key=f0509de0b62c75fed1fda80b-739910258&fb_sig_expires=0&fb_sig_api_key=ec03100bb663c204d4abc7490a53c312&fb_sig=4f5951c7512e13e11b150a42db913786" width="120" height="600" frameborder="0" border="0" scrolling="no"></iframe>
<a onclick="(new Image()).src = '/ajax/ct.php?113368&app_id=2342084241&action_type=3&post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="http://apps.facebook.com/pirates/tlapd/">September 19th was Talk Like a Pirate Day!   Check out the list of T Shirt winners!</a>
<tbody></tbody>



<center>

Ahoy, Matey!

</center>

where do ye want to sail today?


<center> <tbody> </tbody>
Level 128 Corsair Pirate
Hit Points: 0
Coins: 0 Buried: 6834
</center> <center> <tbody> </tbody>
<center>

<a onclick="(new Image()).src = '/ajax/ct.php?113368&app_id=2342084241&action_type=3&post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" style="color: white;" href="harbor.php"> <-- corsair harbor
0 miles away
(get ship upgrades!)

</a>

</center>
<center>

<img pid="33712587" uid="1807687" src="http://photos-d.ak.facebook.com/photos-ak-sf2p/v111/12/19/1807687/n1807687_33712587_6493.jpg" />

</center>
<center>

<a onclick="(new Image()).src = '/ajax/ct.php?113368&app_id=2342084241&action_type=3&post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" style="color: white;" href="explore.php"> explore the open sea -->
(adventure, treasure, danger)</a>


</center>
<tbody> </tbody>
Pirate tip: Special items can be purchased at the harbor.
</center>




<a onclick="(new Image()).src = '/ajax/ct.php?113368&app_id=2342084241&action_type=3&post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="recruit.php">Recruit yer friends</a> to become Corsair Pirates.
<a onclick="(new Image()).src = '/ajax/ct.php?113368&app_id=2342084241&action_type=3&post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="stats.php">View your pirate stats</a> to see how strong of a pirate you are.




<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2275721-1"; urchinTracker("\/index.php"); </script>


<a onclick="(new Image()).src = '/ajax/ct.php?113368&app_id=2342084241&action_type=3&post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="http://74.86.142.202/~tearswep/exchange/link.php?id=humanpets&ref=pirates&uid=739910258">Ahoy! Check out Human Pets! Buy and sell your friends!</a>
</body>

</html> <script type="text/javascript"> onloadRegister(function(){onload_side_nav_check()}); </script>

Available Parameters for the install object

The InstallTrigger.install method accepts a JavaScript object as a parameter, with several properties on that object used to affect the install.

URL

The URL property specifies the URL of the XPI to install. This property is required.

IconURL

The IconURL property specifies an icon to be displayed in the installation dialog. This property is optional. If you do not specify an icon, the default icon will be used, usually a green puzzle piece. The icon can be any image format supported by Firefox, and should be 32x32 pixels in size.

Hash

The Hash property specifies a cryptographic hash of the XPI file contents. This is used to verify the downloaded file, to protect against a corrupted file being served by a mirror download server, for example. You can use any hash function supported by nsICryptoHash. The hash is specified as hash function:hash value, for example, sha1:28857e60d043447c5f4550853f2d40770b326a13.

toString()

The toString() property should return the XPI URL, for compatibility with Firefox browsers older than version 1.0, and other applications such as Seamonkey.

Themes

Pretty much everything I've described applies to themes too, except you'll use the installChrome function. Because so many sites installed extensions by direct-linking the XPI file and relying on content handling to invoke the confirmation UI, many sites are (incorrectly) doing so for theme JAR files too and wondering why they aren't auto-detected and installed. Well, XPI is a Mozilla-specific extension and so we can have special handling for it, but JAR is not - not all .jar files are Firefox themes, so if you click on a .jar link you'll be shown the Save As decision dialog. For this reason you should always use the InstallTrigger API to install themes.

A Note on updateEnabled()

InstallTrigger exposes a function called updateEnabled that some of you may be calling before you call InstallTrigger.install. This is not necessary as install calls updateEnabled itself internally. Furthermore, calling updateEnabled may lead to problems if your distribution site is not in the user's whitelist, because Firefox only displays the "Installation Blocked" message when install or installChrome are called, or when a XPI file is loaded. So, if you have code that looks like this:

if (InstallTrigger.updateEnabled())
  InstallTrigger.install({"Foo": "foo.xpi"});

... and your site is not in the whitelist, when the user invokes that code, updateEnabled will return false because your site isn't whitelisted, and since it was updateEnabled that discovered this, not a call to install, there will be no notification to the user.

Thus you should only use updateEnabled to display content in the page to alert the user that software installation is disabled, or your site is not in the whitelist—do not place it in the install code path.

(* by all means don't let this stop you from developing more ambitious install systems, I am providing this documentation only as a guide that I hope most extension distributors will use since it handles most cases well)

{{ wiki.languages( { "fr": "fr/Installation_d\'extensions_et_de_th\u00e8mes_depuis_une_page_Web", "ja": "ja/Installing_Extensions_and_Themes_From_Web_Pages" } ) }}

Revision Source

<p>
</p><p>There are a variety of ways you can install <a href="en/Extension">extensions</a> and <a href="en/Themes">themes</a> from web pages, including direct linking to the XPI files and using the <a href="en/XPInstall_API_Reference/InstallTrigger_Object">InstallTrigger</a> object.
</p><p>Extension and web authors are encouraged to use the method described below to install XPIs, as it provides the best experience to users.
</p><p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
</p>
<pre class="eval">  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
</pre>
<p>&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="facebook"&gt;
&lt;head&gt;
&lt;title&gt;Facebook | Pirates&lt;/title&gt;
&lt;meta http-equiv="Content-type" content="text/html; charset=utf-8" /&gt;
&lt;meta name="robots" content="noodp" /&gt;&lt;meta name="description" content="Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, upload an unlimited number of photos, share links and videos, and learn more about the people they meet." /&gt;
&lt;script type="text/javascript"&gt;var cc=new Image();cc.onload=function(){cc.hit=(typeof(Env)=="undefined");};cc.src="http://static.ak.facebook.com/images/global_menu_space.gif?12:37897";Env={method:"GET",dev:0,start:(new Date( )).getTime(),cache:(((typeof(cc)!="undefined")&amp;&amp;cc.hit)||0),ps_limit:5,ps_ratio:4,pkgv:19};&lt;/script&gt;&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/common.css.pkg.php?c=19:12:61009" type="text/css" media="all"/&gt;
&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/apps_menu.css?12:43718" type="text/css"/&gt;
&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/typeahead.css?12:19905" type="text/css"/&gt;
&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/dialog.css?12:39930" type="text/css"/&gt;
&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/attachments.css?12:59060" type="text/css"/&gt;
&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/captcha/captcha.css?12:60350" type="text/css"/&gt;
&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/canvas.css?12:61035" type="text/css"/&gt;
&lt;link rel="stylesheet" href="http://static.ak.facebook.com/css/api/confirmation.css?12:59219" type="text/css"/&gt;<span class="comment">{{mediawiki.external('if lte IE 6')}}&gt;&lt;style type="text/css" media="screen"&gt;/* &lt;![CDATA{{mediawiki.external(' */ @import url(http://static.ak.facebook.com/css/ie6.css?12:60224); /* ')}}]&gt; */&lt;/style&gt;&lt;!{{mediawiki.external('endif')}}</span>
<span class="comment">{{mediawiki.external('if gte IE 7')}}&gt;&lt;style type="text/css" media="screen"&gt;/* &lt;![CDATA{{mediawiki.external(' */ @import url(http://static.ak.facebook.com/css/ie7.css?12:60790); /* ')}}]&gt; */&lt;/style&gt;&lt;!{{mediawiki.external('endif')}}</span>
&lt;script type="text/javascript" src="http://static.ak.facebook.com/js/common.js.pkg.php?c=19:12:61202"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://static.ak.facebook.com/js/canvas.js?12:44710"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://static.ak.facebook.com/js/api/confirmation.js?12:59219"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://static.ak.facebook.com/js/search_typeaheadpro.js?12:59982"&gt;&lt;/script&gt;&lt;link rel="search" type="application/opensearchdescription+xml" href="http://static.ak.facebook.com/opensearch_desc.xml?12:27839" title="Facebook" /&gt;
&lt;link rel="shortcut icon" href="http://static.ak.facebook.com/favicon.ico" /&gt;
&lt;/head&gt;
&lt;body class="fbframe"&gt;
</p>
<div id="book">
<div id="sidebar">&lt;a href="http://www.facebook.com" class="go_home"&gt; &lt;/a&gt;<div id="sidebar_content"><div class="hourglass" id="qsearch"><div class="clearfix"><h3 name=".3Ca__href.3D.22.22_id.3D.22global_search_link.22.3ESearch.3C.2Fa.3E">&lt;a  href="http://www.facebook.com/s.php?ref=search" id="global_search_link"&gt;Search&lt;/a&gt;</h3>&lt;a href="#" onclick="return optional_drop_down_menu(this, ge('global_search_link'), ge('search_options_menu'), event);" class="search_arrow"&gt;<span></span>&lt;/a&gt;</div><div id="search_options_menu" style="display:none"><div class="menu_link">&lt;a href="http://www.facebook.com/srch.php?classmate&amp;ref=search"&gt;Find Classmates&lt;/a&gt;</div><div class="menu_link">&lt;a href="http://www.facebook.com/srch.php?coworker&amp;ref=search"&gt;Find Coworkers&lt;/a&gt;</div><div class="menu_link">&lt;a href="http://www.facebook.com/advanced.php?ref=search"&gt;Advanced Search&lt;/a&gt;</div><div class="menu_link">&lt;a href="http://www.facebook.com/b.php?ref=search&amp;new"&gt;Browse&lt;/a&gt;</div></div>&lt;form method="get" action="http://www.facebook.com/s.php?ref=search" name="qsearch" id="qsearchform"&gt;&lt;script&gt;var SEARCH_TYPEAHEAD_ONCLICK = ""; &lt;/script&gt;&lt;input id="q" class="search inputsearch inputtext" name="q" type="search" results="0" autosave="com.facebook.qsearch" value="" maxlength="100" size="25" autocomplete="off" onfocus="var typeahead_source_instance1=new search_friend_source('739910258-1190794152-1&amp;u=739910258');typeahead_source_instance1.text_nomatch;typeahead_source_instance1.search_limit=5;new search_typeaheadpro(this, typeahead_source_instance1,{onselect:search_typeahead_onsubmit,onsubmit:search_typeahead_onsubmit,max_results:5});" /&gt;&lt;input type="hidden" id="init" name="init" value="q" /&gt;&lt;/form&gt;</div><div class="app_list clearfix"><div class="clearfix"><h3 name=".3Ca_href.3D.22.22.3EApplications.3C.2Fa.3E">&lt;a href="http://www.facebook.com/editapps.php"&gt;Applications&lt;/a&gt;</h3>&lt;a href="http://www.facebook.com/editapps.php" class="edit_apps"&gt;edit&lt;/a&gt;</div><div id="app_list"><div class="list_item"><div class="container" id="2405679170">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/bathroomwall" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/230/2405679170/app_2_2405679170_3820.gif);"&gt;Bathroom Wall&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4715512303">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/stdgifts/" style="background-image: url(http://photos-d.ak.facebook.com/photos-ak-sctm/v43/103/4715512303/app_2_4715512303_4366.gif);"&gt;Sexually Transmitted Gifts&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2358484727">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/travelpod-challenge/" style="background-image: url(http://photos-727.ll.facebook.com/photos-ll-sctm/v43/95/2358484727/app_2_2358484727_5175.gif);"&gt;Traveler IQ Challenge&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2342084241">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/pirates/" style="background-image: url(http://photos-241.ll.facebook.com/photos-ll-sctm/v43/21/2342084241/app_2_2342084241_7997.gif);"&gt;Pirates&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2305272732">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://www.facebook.com/photos.php?ref=sb" style="background-image: url(http://static.ak.facebook.com/images/icons/photo.gif?12:25796);"&gt;Photos&lt;/a&gt;</div></div></div></div><div class="app_list" id="expandable_more" style="display:none"><div class="divider_bar"> </div><div id="app_non_nav_list"><div class="list_item"><div class="container" id="2345053339">&lt;a class="link_title  highlight_link"" onmousedown="new track_moveable(this.parentNode, this);" href="http://www.facebook.com/developers/" style="background-image: url(http://photos-339.ll.facebook.com/photos-ll-sctm/v43/55/2345053339/app_2_2345053339_6333.gif);"&gt;Developer&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2915120374">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://www.facebook.com/mobile/?ref=sb" style="background-image: url(http://static.ak.facebook.com/images/icons/mobile_app.gif?12:44077);"&gt;Mobile&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2378983609">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/crazyfunpix" style="background-image: url(http://photos-609.ll.facebook.com/photos-ll-sctm/v43/37/2378983609/app_2_2378983609_306.gif);"&gt;FunWall&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2441098708">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/chinesename" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/160/2441098708/app_2_2441098708_1578.gif);"&gt;What's My Chinese Name?&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2618691293">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/warbook/" style="background-image: url(http://photos-b.ak.facebook.com/photos-ak-sctm/v43/29/2618691293/app_2_2618691293_8852.gif);"&gt;WarBook&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="18709202344">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/hauntedhouse/" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/112/18709202344/app_2_18709202344_7064.gif);"&gt;Haunted House&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4382390682">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/puffpuffpass/" style="background-image: url(http://photos-682.ll.facebook.com/photos-ll-sctm/v43/54/4382390682/app_2_4382390682_1523.gif);"&gt;Puff Puff Pass&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2417109561">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/pinkmusic" style="background-image: url(http://photos-b.ak.facebook.com/photos-ak-sctm/v43/153/2417109561/app_2_2417109561_2562.gif);"&gt;Pink&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2635285560">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/filthbook/" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/96/2635285560/app_2_2635285560_7403.gif);"&gt;FilthBook&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="5118950569">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/sexappeal/?from=menu" style="background-image: url(http://photos-569.ll.facebook.com/photos-ll-sctm/v43/229/5118950569/app_2_5118950569_7051.gif);"&gt;Sex Appeal&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4169294022">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/grossout/" style="background-image: url(http://photos-022.ll.facebook.com/photos-ll-sctm/v43/138/4169294022/app_2_4169294022_3082.gif);"&gt;Gross Out!&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2408079774">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/ikickyou/" style="background-image: url(http://photos-774.ll.facebook.com/photos-ll-sctm/v43/30/2408079774/app_2_2408079774_8127.gif);"&gt;I Kick You&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2339854854">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/horoscopes/view_all.php" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/78/2339854854/app_2_2339854854_9217.gif);"&gt;Horoscopes&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2439131959">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/graffitiwall/" style="background-image: url(http://photos-d.ak.facebook.com/photos-ak-sctm/v43/19/2439131959/app_2_2439131959_1091.gif);"&gt;Graffiti&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2219808235">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/fluff/main.php" style="background-image: url(http://photos-d.ak.facebook.com/photos-ak-sctm/v43/211/2219808235/app_2_2219808235_691.gif);"&gt;(fluff)Friends&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4676013771">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/pillow-fight/" style="background-image: url(http://photos-771.ll.facebook.com/photos-ll-sctm/v43/51/4676013771/app_2_4676013771_7658.gif);"&gt;Pillow Fight&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4636193340">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/mystarsign/selectstar.php" style="background-image: url(http://photos-340.ll.facebook.com/photos-ll-sctm/v43/156/4636193340/app_2_4636193340_1604.gif);"&gt;Star Sign, Zodiac, Horoscope&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2469450804">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/daily_dragon/?refresh=all" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/240/2469450804/app_2_2469450804_5506.gif);"&gt;Daily Dragon&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4326036791">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/birthdayalert/" style="background-image: url(http://photos-d.ak.facebook.com/photos-ak-sctm/v43/167/4326036791/app_2_4326036791_4240.gif);"&gt;Birthday Alert&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="3371483771">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/pimpmyname/" style="background-image: url(http://photos-771.ll.facebook.com/photos-ll-sctm/v43/215/3371483771/app_2_3371483771_393.gif);"&gt;Pimp My Name&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="3274370165">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/mynameis/" style="background-image: url(http://photos-165.ll.facebook.com/photos-ll-sctm/v43/101/3274370165/app_2_3274370165_2457.gif);"&gt;Hello! My Name Is&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2402094537">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/growing/" style="background-image: url(http://photos-537.ll.facebook.com/photos-ll-sctm/v43/45/2402094537/app_2_2402094537_7974.gif);"&gt;Grow-a-Gift&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2415325843">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/friendwheel" style="background-image: url(http://photos-d.ak.facebook.com/photos-ak-sctm/v43/91/2415325843/app_2_2415325843_5429.gif);"&gt;Friend Wheel&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2377107214">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/bobbleheads/" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/34/2377107214/app_2_2377107214_891.gif);"&gt;Bobbleheads&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4188419540">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/unrated/sideNav.php" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/116/4188419540/app_2_4188419540_9544.gif);"&gt;Likeness UNRATED&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="6702295930">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/hatching/" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/106/6702295930/app_2_6702295930_3711.gif);"&gt;Hatching Eggs&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2412269324">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/naughtygifts/" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/80/2412269324/app_2_2412269324_6104.gif);"&gt;Naughty Gifts&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4350413717">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/japanese_word" style="background-image: url(http://photos-717.ll.facebook.com/photos-ll-sctm/v43/125/4350413717/app_2_4350413717_7205.gif);"&gt;Japanese Audio Word of the Day&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4190242806">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/drinktoday/start.php" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/162/4190242806/app_2_4190242806_7643.gif);"&gt;Today's Reason To Drink&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2388198270">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/letsdrink/" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/66/2388198270/app_2_2388198270_7754.gif);"&gt;Let's Drink&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="14638552816">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/pornstarname" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/76/14638552816/app_2_14638552816_2187.gif);"&gt;What's your Pornstar Name?&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2610371153">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/friendblock/index.php" style="background-image: url(http://photos-b.ak.facebook.com/photos-ak-sctm/v43/173/2610371153/app_2_2610371153_8458.gif);"&gt;Friend Block&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2429586704">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/drinkrecipe/sidenav.php" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/20/2429586704/app_2_2429586704_3830.gif);"&gt;Drink Recipes&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2475711959">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/ryemote/" style="background-image: url(http://photos-d.ak.facebook.com/photos-ak-sctm/v43/203/2475711959/app_2_2475711959_4355.gif);"&gt;Emote&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2853639357">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/gangstaname" style="background-image: url(http://photos-b.ak.facebook.com/photos-ak-sctm/v43/177/2853639357/app_2_2853639357_9294.gif);"&gt;What's your Gangsta Name?&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2415466380">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/freegifts/" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/12/2415466380/app_2_2415466380_4346.gif);"&gt;Free Gifts&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="3288643107">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/mypuritytest/" style="background-image: url(http://photos-107.ll.facebook.com/photos-ll-sctm/v43/15/3288643107/app_2_3288643107_8929.gif);"&gt;My Purity Test&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="4338466198">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/naughty" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/178/4338466198/app_2_4338466198_3491.gif);"&gt;Very Naughty Gifts&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2425101550">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/topeight/?whoson=1&amp;ref=sidenav" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/214/2425101550/app_2_2425101550_2298.gif);"&gt;Top Friends&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2405948328">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/likeness/sideNav.php" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/0/2405948328/app_2_2405948328_5147.gif);"&gt;Likeness&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2721700161">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/werewolves/side-nav.php" style="background-image: url(http://photos-161.ll.facebook.com/photos-ll-sctm/v43/117/2721700161/app_2_2721700161_2723.gif);"&gt;WereWolves&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2406256883">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/fightersc/ongoingfights" style="background-image: url(http://photos-d.ak.facebook.com/photos-ak-sctm/v43/107/2406256883/app_2_2406256883_1525.gif);"&gt;Fighters' Club&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2360569570">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/booze-mail/" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/142/2360569570/app_2_2360569570_4706.gif);"&gt;Booze Mail&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2468916942">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/hamster/" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/114/2468916942/app_2_2468916942_3115.gif);"&gt;Vibrating Hamster&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2360268778">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/foodfight/" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/238/2360268778/app_2_2360268778_7526.gif);"&gt;Food Fight!&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2341504841">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/zombies/side-nav.php" style="background-image: url(http://photos-b.ak.facebook.com/photos-ak-sctm/v43/221/2341504841/app_2_2341504841_1502.gif);"&gt;Zombies&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="3225190161">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/strippername/" style="background-image: url(http://photos-161.ll.facebook.com/photos-ll-sctm/v43/165/3225190161/app_2_3225190161_4664.gif);"&gt;What's your stripper name?&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2458301688">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/vampires/side-nav.php" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/108/2458301688/app_2_2458301688_9949.gif);"&gt;Vampires&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2523701232">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/tickles/home.php" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/108/2523701232/app_2_2523701232_2853.gif);"&gt;Poke Pro v2&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2397152966">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/confucius" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/194/2397152966/app_2_2397152966_2569.gif);"&gt;Confucius Say&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2345673396">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/doittome/sidenav.php" style="background-image: url(http://photos-396.ll.facebook.com/photos-ll-sctm/v43/192/2345673396/app_2_2345673396_7948.gif);"&gt;X Me&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2370768865">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/magicball" style="background-image: url(http://photos-b.ak.facebook.com/photos-ak-sctm/v43/241/2370768865/app_2_2370768865_8387.gif);"&gt;Magic 8 ball&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="3129295789">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/emoting/" style="background-image: url(http://photos-b.ak.facebook.com/photos-ak-sctm/v43/109/3129295789/app_2_3129295789_5771.gif);"&gt;Moods&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2318966938">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/causes/" style="background-image: url(http://photos-c.ak.facebook.com/photos-ak-sctm/v43/190/2318966938/app_2_2318966938_8194.gif);"&gt;Causes&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2357179312">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/superpokey/sp_main?pa=535&amp;pv=270&amp;cv=347" style="background-image: url(http://photos-a.ak.facebook.com/photos-ak-sctm/v43/40/2357179312/app_2_2357179312_2638.gif);"&gt;SuperPoke!&lt;/a&gt;</div></div><div class="list_item"><div class="container" id="2601240224">&lt;a class="link_title " onmousedown="new track_moveable(this.parentNode, this);" href="http://apps.facebook.com/superwall/view_all_send.php?mode=view_all" style="background-image: url(http://photos-224.ll.facebook.com/photos-ll-sctm/v43/212/2601240224/app_2_2601240224_8511.gif);"&gt;Super Wall&lt;/a&gt;</div></div></div></div><div class="more_section highlight_more_link" id="more_section">&lt;a href="#" id="more_link" class="expand_link more_apps" onmouseover="try_expand(this);" onmouseout="untry_expand();" onclick="toggle_more_list();  return false;"&gt;more&lt;/a&gt;</div></div>&lt;input type="hidden" id="post_form_id" name="post_form_id" value="1e067428e3ee52b3e885bf1e2297dc14" /&gt;<div class="sponsors sponsor_absolute" id="ssponsor"><div id="ad_2"><span class="comment">blank</span></div>
<p><span class="comment">awi 10184694</span>
</p>
</div></div><div class="clearfix" id="widebar"><div id="navigator"><ul class="main_set" id="nav_unused_1"><li>&lt;a href="http://www.facebook.com/profile.php?id=739910258" class="profile_link"&gt;Profile&lt;/a&gt;&lt;a href="http://www.facebook.com/editprofile.php" class="edit_link"&gt;edit&lt;/a&gt;</li><li><div class="with_arrow">&lt;a href="http://www.facebook.com/friends.php?r" id="global_friends_link"&gt;Friends&lt;/a&gt;&lt;a href="#" class="global_menu_arrow" onclick="return optional_drop_down_menu(this, ge('global_friends_link'), ge('global_friends_menu'), event);"&gt;&lt;img src="http://static.ak.facebook.com/images/global_menu_space.gif?12:37897" align="top"&gt;&lt;/a&gt;</div><div class="navigator_menu friends" id="global_friends_menu" style="display: none"><ul><li>&lt;a href="http://www.facebook.com/statusupdates/?ref=tn"&gt;Status Updates&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/friends.php?online"&gt;Online Now&lt;/a&gt;</li><li class="menu_divider">&amp;nbsp</li><li>&lt;a href="http://www.facebook.com/friends.php?ca=1"&gt;Recently Updated&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/friends.php?ca=3"&gt;Recently Added&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/friends.php?"&gt;All Friends&lt;/a&gt;</li><li class="menu_divider">&amp;nbsp</li><li>&lt;a href="http://www.facebook.com/invite.php?ref=tn"&gt;Invite Friends&lt;/a&gt;</li><li>&lt;a href="https://register.facebook.com/findfriends.php?tabs&amp;ref=friends"&gt;Find Friends&lt;/a&gt;</li></ul></div></li><li><div class="with_arrow">&lt;a href="http://www.facebook.com/networks/" id="global_networks_link"&gt;Networks&lt;/a&gt;&lt;a href="#" class="global_menu_arrow" onclick="return optional_drop_down_menu(this, ge('global_networks_link'), ge('global_networks_menu'), event);"&gt;&lt;img src="http://static.ak.facebook.com/images/global_menu_space.gif?12:37897" align="top"&gt;&lt;/a&gt;</div><div class="navigator_menu networks" id="global_networks_menu" style="display: none"><ul><li>&lt;a href="http://www.facebook.com/networks/?nk=67109356"&gt;South Africa&lt;/a&gt;</li><li class="menu_divider">&amp;nbsp</li><li>&lt;a href="http://www.facebook.com/networks/networks.php"&gt;Browse All Networks&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/editaccount.php?networks"&gt;Join a Network&lt;/a&gt;</li></ul></div></li><li><div class="with_arrow">&lt;a href="http://www.facebook.com/inbox/" id="nav_inbox"&gt;Inbox&lt;/a&gt;&lt;a href="#" class="global_menu_arrow" onclick="return optional_drop_down_menu(this, ge('nav_inbox'), ge('global_inbox_menu'), event);"&gt;&lt;img src="http://static.ak.facebook.com/images/global_menu_space.gif?12:37897" align="top"&gt;&lt;/a&gt;</div><div class="navigator_menu inbox" id="global_inbox_menu" style="display: none"><ul><li>&lt;a href="http://www.facebook.com/inbox/"&gt;Message Inbox&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/inbox/?f=1"&gt;Sent Messages&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/notifications.php"&gt;Notifications&lt;/a&gt;</li><li class="menu_divider">&amp;nbsp</li><li>&lt;a href="http://www.facebook.com/inbox/?compose"&gt;Compose Message&lt;/a&gt;</li></ul></div></li></ul><ul class="secondary_set" id="nav_unused_2"><li>&lt;a href="http://www.facebook.com"&gt;Home&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/editaccount.php"&gt;Account&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/privacy.php"&gt;Privacy&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/logout.php?h=5396778ba170d9825e663c256fe7edc0"&gt;Logout&lt;/a&gt;</li></ul></div><div class="pagebody fbframe" id="page_body"><div id="content_shadow"><div class="clearfix" id="content">
<div class="app_content_2342084241" id="app_content_2342084241"><div>&lt;iframe style="border: 0pt none rgb(255, 255, 255); overflow: hidden; margin-right: -3px; margin-top: -5px; margin-left: 652px; position: absolute; top: 40px;" src="http://cubics.com/displayAd.aspx?pid=18&amp;adSize=120x600&amp;bgColor=#ffffff&amp;textColor=#000000&amp;linkColor=#0033ff&amp;fb_sig_in_iframe=1&amp;fb_sig_time=1190796223.7423&amp;fb_sig_added=1&amp;fb_sig_user=739910258&amp;fb_sig_profile_update_time=1190679646&amp;fb_sig_session_key=f0509de0b62c75fed1fda80b-739910258&amp;fb_sig_expires=0&amp;fb_sig_api_key=ec03100bb663c204d4abc7490a53c312&amp;fb_sig=4f5951c7512e13e11b150a42db913786" width="120" height="600" frameborder="0" border="0" scrolling="no"&gt;&lt;/iframe&gt;<div style="border-bottom: 1px solid rgb(204, 204, 204); padding: 2px; text-align: center; font-weight: bold; font-size: 1.1em;">&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="http://apps.facebook.com/pirates/tlapd/"&gt;September 19th was Talk Like a Pirate Day!   Check out the list of T Shirt winners!&lt;/a&gt;</div>&lt;tbody&gt;&lt;/tbody&gt;<table><tbody><tr><td width="620"><div class="dashboard_header"><div class="dh_links clearfix">&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="index.php"&gt;Go Sailin'&lt;/a&gt;<span class="pipe">|</span>&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="recruit.php"&gt;Recruit Friends&lt;/a&gt;<span class="pipe">|</span>&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="stats.php"&gt;Stats&lt;/a&gt;<span class="pipe">|</span>&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="booty.php"&gt;Booty&lt;/a&gt;<span class="pipe">|</span>&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="leaderboard.php"&gt;Leaderboard&lt;/a&gt;<span class="pipe">|</span>&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="my_mates.php"&gt;My Mates&lt;/a&gt;<span class="pipe">|</span>&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="surveys.php"&gt;Free Pirate Booty&lt;/a&gt;<span class="pipe">|</span>&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="http://www.facebook.com/apps/application.php?api_key=ec03100bb663c204d4abc7490a53c312"&gt;About&lt;/a&gt;</div></div></td></tr></tbody></table><br>
<p><br>	
</p><p><br>	
</p>
<center>
<h2 name="Ahoy.2C_Matey.21">Ahoy, Matey!</h2>
</center>
<h3 name="where_do_ye_want_to_sail_today.3F" style="text-align: center;">where do ye want to sail today? </h3>
<p><br>
</p>
<center>

	&lt;tbody&gt;
&lt;/tbody&gt;<table cellpadding="3" cellspacing="0" width="90%"><tbody><tr>
		<td><h6 name="Level_128_Corsair_Pirate" style="text-align: left;">Level 128 Corsair Pirate</h6></td>
		<td><h6 name="Hit_Points:_0" style="text-align: center;">Hit Points: 0</h6></td>
		<td><h6 name="Coins:_0_Buried:_6834" style="text-align: right;">Coins: 0 Buried: 6834</h6></td>
	</tr></tbody></table>
</center>
<center>

&lt;tbody&gt;
&lt;/tbody&gt;<table border="0" style="border: 1px solid black; padding: 10px; background-color: rgb(59, 89, 152); text-align: center; color: white; margin-top: 0px;" width="90%"><tbody><tr>
<td><center>
<p>	&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" style="color: white;" href="harbor.php"&gt;
	<span style="font-size: 125%;">&lt;-- corsair harbor </span>
	<br>0 miles away<br>	(get ship upgrades!)
</p><p>	&lt;/a&gt;
</p>
	</center>
	</td>

	<td style="text-align: center;">
		<center>
<p>			&lt;img pid="33712587" uid="1807687" src="http://photos-d.ak.facebook.com/photos-ak-sf2p/v111/12/19/1807687/n1807687_33712587_6493.jpg" /&gt;
</p>
		</center>
	</td>
	<td>
	<center>
<p>	&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" style="color: white;" href="explore.php"&gt;
	<span style="font-size: 125%;">explore the open sea --&gt;</span><br>
	(adventure, treasure, danger)&lt;/a&gt;
</p><p><br>
</p>
</center>
</td>
</tr></tbody></table>

&lt;tbody&gt;
&lt;/tbody&gt;<table cellpadding="3" cellspacing="0" width="90%"><tbody><tr><td style="text-align: center;"><h6 name="Pirate_tip:_Special_items_can_be_purchased_at_the_harbor.">Pirate tip: Special items can be purchased at the harbor.</h6></td></tr></tbody></table>
</center>
<p><br>
</p><p><br>
<br>
</p>
<h2 style="text-align: center; padding-bottom: 10px;">
&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="recruit.php"&gt;Recruit yer friends&lt;/a&gt; to become Corsair Pirates.<br>
&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="stats.php"&gt;View your pirate stats&lt;/a&gt; to see how strong of a pirate you are.
</h2>
<p><br>
</p><p><br>
</p><p><br>
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-2275721-1";
urchinTracker("\/index.php");
&lt;/script&gt;
</p><p><br>
</p>
<div style="border-bottom: 1px solid rgb(204, 204, 204); padding: 2px; text-align: center; font-weight: bold; font-size: 1.1em;">&lt;a onclick="(new Image()).src = '/ajax/ct.php?113368&amp;app_id=2342084241&amp;action_type=3&amp;post_form_id=1e067428e3ee52b3e885bf1e2297dc14';return true" href="http://74.86.142.202/~tearswep/exchange/link.php?id=humanpets&amp;ref=pirates&amp;uid=739910258"&gt;Ahoy! Check out Human Pets!  Buy and sell your friends!&lt;/a&gt;</div>
</div></div></div></div></div><div id="pagefooter"><div class="copyright"><div class="brand">Page built by &lt;a href="http://www.facebook.com/apps/application.php?api_key=ec03100bb663c204d4abc7490a53c312"&gt;Pirates&lt;/a&gt;</div></div><ul class="footer_links" id="nav_unused_3"><li>&lt;a href="http://www.facebook.com/about.php"&gt;About&lt;/a&gt;</li><li>&lt;a href="http://developers.facebook.com"&gt;Developers&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/jobs/"&gt;Jobs&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/advertise.php"&gt;Advertisers&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/polls.php"&gt;Polls&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/terms.php"&gt;Terms&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/policy.php"&gt;Privacy&lt;/a&gt;</li><li>&lt;a href="http://www.facebook.com/help.php"&gt;Help&lt;/a&gt;</li></ul></div></div></div>&lt;/body&gt;
<p>&lt;/html&gt;
&lt;script type="text/javascript"&gt;
onloadRegister(function(){onload_side_nav_check()});
&lt;/script&gt;
</p>
<h3 name="Available_Parameters_for_the_install_object"> Available Parameters for the install object </h3>
<p>The <code>InstallTrigger.install</code> method accepts a JavaScript object as a parameter, with several properties on that object used to affect the install.
</p>
<h4 name="URL"> URL </h4>
<p>The <code>URL</code> property specifies the URL of the XPI to install.  This property is required.
</p>
<h4 name="IconURL"> IconURL </h4>
<p>The <code>IconURL</code> property specifies an icon to be displayed in the installation dialog.  This property is optional.  If you do not specify an icon, the default icon will be used, usually a green puzzle piece.  The icon can be any image format supported by Firefox, and should be 32x32 pixels in size.
</p>
<h4 name="Hash"> Hash </h4>
<p>The <code>Hash</code> property specifies a cryptographic hash of the XPI file contents.  This is used to verify the downloaded file, to protect against a corrupted file being served by a mirror download server, for example.  You can use any hash function supported by <a href="en/NsICryptoHash">nsICryptoHash</a>.  The hash is specified as <code>hash function:hash value</code>, for example, <code>sha1:28857e60d043447c5f4550853f2d40770b326a13</code>.
</p>
<h4 name="toString.28.29"> toString() </h4>
<p>The <code>toString()</code> property should return the XPI URL, for compatibility with Firefox browsers older than version 1.0, and other applications such as Seamonkey.
</p>
<h3 name="Themes"> Themes </h3>
<p>Pretty much everything I've described applies to themes too, except you'll use the <code>installChrome</code> function. Because so many sites installed extensions by direct-linking the XPI file and relying on content handling to invoke the confirmation UI, many sites are (incorrectly) doing so for theme JAR files too and wondering why they aren't auto-detected and installed. Well, XPI is a Mozilla-specific extension and so we can have special handling for it, but JAR is not - not all .jar files are Firefox themes, so if you click on a .jar link you'll be shown the Save As decision dialog. For this reason you should always use the <code>InstallTrigger</code> API to install themes.
</p>
<h3 name="A_Note_on_updateEnabled.28.29"> A Note on updateEnabled() </h3>
<p><code>InstallTrigger</code> exposes a function called <code>updateEnabled</code> that some of you may be calling before you call <code>InstallTrigger.install</code>. This is not necessary as install calls <code>updateEnabled</code> itself internally. Furthermore, calling <code>updateEnabled</code> may lead to problems if your distribution site is not in the user's whitelist, because Firefox only displays the "Installation Blocked" message when install or <code>installChrome</code> are called, or when a XPI file is loaded. So, if you have code that looks like this:
</p>
<pre class="eval">if (InstallTrigger.updateEnabled())
  InstallTrigger.install({"Foo": "foo.xpi"});
</pre>
<p>... and your site is not in the whitelist, when the user invokes that code, <code>updateEnabled</code> will return <code>false</code> because your site isn't whitelisted, and since it was <code>updateEnabled</code> that discovered this, not a call to install, there will be no notification to the user.
</p><p>Thus you should only use <code>updateEnabled</code> to display content in the page to alert the user that software installation is disabled, or your site is not in the whitelist—do not place it in the install code path.
</p><p>(* by all means don't let this stop you from developing more ambitious install systems, I am providing this documentation only as a guide that I hope most extension distributors will use since it handles most cases well)
</p>{{ wiki.languages( { "fr": "fr/Installation_d\'extensions_et_de_th\u00e8mes_depuis_une_page_Web", "ja": "ja/Installing_Extensions_and_Themes_From_Web_Pages" } ) }}
Revert to this revision