<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>MinorProbrem&#187; FireFox</title>
	<atom:link href="http://hmlab.info/minor/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://hmlab.info/minor</link>
	<description>グダグダ日記</description>
	<lastBuildDate>Wed, 27 Apr 2011 21:48:54 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/tag/firefox/feed/" />
		<item>
		<title>Firefox限定問題、XMLHttpRequestでXMLとかKMLを読むときの4096byte制限について</title>
		<link>http://hmlab.info/minor/2008/12/20081222_1226593809/</link>
		<comments>http://hmlab.info/minor/2008/12/20081222_1226593809/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 15:00:54 +0000</pubDate>
		<dc:creator>Hex68</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[4096]]></category>
		<category><![CDATA[4096byte]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[kml]]></category>
		<category><![CDATA[normalize]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xmlhttp]]></category>
		<category><![CDATA[上限]]></category>
		<category><![CDATA[読み込み]]></category>

		<guid isPermaLink="false">http://hmlab.info/minor/?p=3809</guid>
		<description><![CDATA[わけあって、KMLをJavascriptで読み込んだりしていた。 KMLとは、Googleさん主導で考案されて、今や標準規格となった緯度経度なんかの地理情報を表すフォーマットです。Google　Earthなんかも使ってま [...]]]></description>
			<content:encoded><![CDATA[<p>わけあって、<strong>KMLをJavascript</strong>で読み込んだりしていた。</p>
<p>KMLとは、<strong>Googleさん主導で考案されて、今や標準規格となった緯度経度なんかの地理情報を表すフォーマット</strong>です。Google　Earthなんかも使ってます。</p>
<p>で、<strong>XMLHttpRequest</strong>でKMLを読み込んで、<strong>取得した緯度経度列を画面上にプロット</strong>するまでは簡単だったんだけど、Firefox限定でなにかおかしい。や、XMLHｔｔｐRequestって時点でFirefoxというか非IEなんだけども。</p>
<p>この時はIEとFirefoxで確認していたんだけど、GoogleEarthで作成したKMLが、IEだと最後まで表示されているのだけど、<strong>Firefoxでは途中までしか表示できない</strong>。</p>
<p>ちなみに、IE側での描画はVML、FirefoxはCANVASでやっていたんだけど、どうやってもFirefoxが最後まで描画できない。</p>
<p>どうも座標数が増えると描画できないようなので、じゃあいくつまで表示できてるのよ、と数を数えてみると、<strong>きっちり４０９６bytes</strong>。どう考えてもあやしい。あやしすぎる。</p>
<p><span id="more-3809"></span></p>
<p>IEでは表示されてるからKMLには問題ない。ということはFirefoxでは4096byteまでしか取得できないとかいうはてなな仕様なのかも、と思ったら<strong>どうやらそのとおりらしい</strong>。まじすか。</p>
<p>正確には、<strong>4096byteを超えると、それ以降は勝手にノードが分割されて格納される</strong>らしい。</p>
<p>つまり取得時にfirstNode.nodeValueに格納すれば本来済むところを、</p>
<blockquote><p>childNodes[n].nodeValue</p></blockquote>
<p>n=byte数/4096ということなっているというザマ。超めんどくせーお話。</p>
<p>今までXMLを読んでるときはあんまり４０９６を超えないから気がつかなかったけど、KMLで扱うのは座標列なんで、座標数１００をこえれば、まあだいたい4096byteの上限だ。</p>
<p>手っ取り早く読み込むためにここでnormalizeしてあげる。</p>
<blockquote><p>xmldoc =xmlhttp.responseXML;<br />
if (typeof(xmldoc.normalize) != &#8220;undefined&#8221;) {<br />
<strong>xmldoc.normalize();</strong><br />
}</p></blockquote>
<p>こんな感じで書いたら、無事４０９６byte以降も読み込まれました。</p>
<p>ｎormalizeってのは要するに、同階層のノードをひとまとめにするものだけど、本来１ノードであるものをFirefoxが勝手に分割しちゃってるのに、それをこちらで尻拭いのようにnormarizeするのはなんだかなあ、と思わないでもないけど、読めなきゃしかたがない。</p>
<p>なので、一塊がめちゃめちゃ長いXMLやKMLをFirefoxで読み込む時はnormalizeをするってのがお約束。ひとつ学んだね。テストでるよ？でないけど。</p>
<p>ところで未確認なのだけれど、4096byteを超えても、<strong>jsonだと問題ない</strong>らしい。どんだけやねん。</p>
]]></content:encoded>
			<wfw:commentRss>http://hmlab.info/minor/2008/12/20081222_1226593809/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/2008/12/20081222_1226593809/" />
	</item>
		<item>
		<title>UbiquityでGJ!の拍手数を確認するなどしたよ！</title>
		<link>http://hmlab.info/minor/2008/09/ubiquitygj/</link>
		<comments>http://hmlab.info/minor/2008/09/ubiquitygj/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 16:12:55 +0000</pubDate>
		<dc:creator>Hex68</dc:creator>
				<category><![CDATA[GJ!（Ｗｅｂ拍手）]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[addon]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[gj]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://hmlab.info/wordpress/2008/09/ubiquitygj.html</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><b>Ubiquity</b>というFirefoxのAddonがある。</p>
<p>ちょっと前から「これはいい！」なんて声を聞いていたのでちょっと試してみた。</p>
<p>今日のエントリーはFirefoxユーザー以外は読んでもなんのこっちゃかさっぱりイミフなので、「僕はIEしか使わない！」とか「テキストブラウザこそ至高！」「OPERA!OPERA!」な人たちは帰ってください。嘘です。ちょっといきがってました。すいません。</p>
<p>&nbsp;</p>
<p>Ubiqutyの説明はこのあたりのサイト様が詳しいです。</p>
<p>&nbsp;</p>
<p><a href="http://www.itmedia.co.jp/enterprise/articles/0808/31/news003.html">ブラウザの新境地？Ubiquityが変える衝撃のブラウザ体験</a></p>
<p><a href="http://gadget.cre8system.jp/life_hacks/firefoxubiquity.html">FireFoxプラグイン「Ubiquity」に大量のコマンドを登録して日本のサイトを一発で開くすごい方法</a></p>
<p>&nbsp;</p>
<p>タイトルからもうアツすぎてあてられそうです。</p>
<p>ようするに、ブラウザの動きをコマンドラインで制御するランチャーみたいなもので、javascriptを書けば簡単なアプリ的なものもつくれるよー、って事です。</p>
<p>&nbsp;</p>
<p>まずはUbiquityをインストールしてみましょう。</p>
<p><a href="http://labs.mozilla.com/2008/08/introducing-ubiquity/">Ubiquityのダウンロードはこちら</a></p>
<p>&nbsp;</p>
<p>ものは試しに、GJ!でいただいた拍手数をブラウザからすぐに確認できるようにしてみます。</p>
<p>&nbsp;Windowsでは<b>Ctrl＋スペース</b>でコマンド入力のプロンプトが開きますので、command-listと入力して、コマンド入力画面に移ります。</p>
<p><img height="141" width="441" src="http://byfiles.storage.live.com/y1pWsbj8_aKdvL2Mr19UAL16HTyE9frtHmO7xI9hoT8HdDe34toBt3AKzU0_j5MZmVm" alt="" /></p>
<p>&nbsp;</p>
<p><span id="more-3487"></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>今回はGJ!のcgiとXMLを介して会話することになるので、通信周りの実装とXMLのパーシングをしています。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><textarea style="width: 100%; height: 300px;">CmdUtils.CreateCommand({<br />
//gj.phpへのパスを記述<br />
phppass: &quot;http://hoge.com/gj.php&quot;,<br />
name: &quot;gjranking&quot;,<br />
description: &quot;GJ拍手数表示&quot;,<br />
help: &quot;GJ!の拍手数表示を表示します。&quot;,<br />
icon: &quot;http://hmlab.info/minor/php/gj/img/gjlogo.gif&quot;,   takes: {parameter: noun_arb_text},<br />
/*<br />
*  プレビュー：拍手数ランキングを表示するよ！<br />
*/<br />
preview: function( pblock ) {<br />
var msg = &#8216;&lt;p&gt;&lt;bold&gt;GJ! Ranking&lt;/bold&gt;&lt;/p&gt;&lt;table&gt;&#8217;;<br />
var $ = jQuery;<br />
var url = this.phppass+&quot;?mode=xml&quot;;<br />
$.get(url, function(response) {<br />
var res = $(&quot;items&quot;, response);       res.find(&#8216;item&#8217;).each(function(){<br />
var data = $(this);<br />
msg += &quot;&lt;tr&gt;&lt;td&gt;&lt;a href=&#8217;&quot; + data.find(&#8216; _fcksavedurl=&#8217;&quot; + data.find(&#8216;pageurl&#8217;).text() +&quot;&#8217;&gt;&quot; + data.find(&#8216;pagename&#8217;).text() + &quot;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&quot; + data.find(&#8216;count&#8217;).text()+&quot;&lt;/td&gt;&lt;/tr&gt;&quot;;       });<br />
msg +=&quot;&lt;/table&gt;&quot;;       jQuery(pblock).html(msg)        .css(&quot;color&quot;,&quot;#ffffff&quot;)         .css(&quot;background-color&quot;,&quot;#000000&quot;)      }, &quot;xml&quot;);<br />
},<br />
/*<br />
*  実行：パスワード入力で管理画面に飛ぶよ！<br />
*/<br />
execute: function(pass) {<br />
var url = this.phppass+&quot;?mode=show&amp;&quot;+pass.text;     Utils.openUrlInBrowser(url);<br />
}<br />
})<br />
</textarea></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>ソースはこんな感じです。</p>
<p>使用される場合、<b>phppassの中身を自分のgj.phpのアドレスに書き換えて</b>ください。</p>
<p>それ以外はコピペで問題ないです。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>コマンド入力から「gjranking」と入力すると（実際はインクリメンタル検索で、入力途中に表示されます）</p>
<p>&nbsp;</p>
<p><img height="346" width="355" src="http://byfiles.storage.live.com/y1pWsbj8_aKdvJ7L-R2Y_5-wNDInQokyX8KZoQTJgUNIkg_QGc2tC8DkE_PoRCKQaGU" alt="" /></p>
<p>今までは管理画面からしか確認できなかったのが、どこからでも確認できると言うライフハック。</p>
<p>&nbsp;</p>
<p>更に、gjrankingの後に半角スペースを空けて、パスワードを入力してリターンを押せば、そのまま管理画面へとジャンプしますので、<b>GJ!を使ってらっしゃる方でFirefoxユーザー、かつUbiquityユーザーの方</b>は（ニッチ過ぎる！！）お使いいただければ便利かなと思います。</p>
<p>&nbsp;</p>
<p>というか、Addonという形なのでブラウザの制限が適用されないので、実装はjavascriptなのに別ドメインのデータにアクセスできるってのは新鮮で良いですね。いろいろ遊べそう。</p>
<p>気になるのはUbiquityのバージョンコード。<b>バージョン０．１</b>ってどんだけー。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table cellpadding="5" border="0">
<tbody>
<tr>
<td colspan="2"><a href="http://www.amazon.co.jp/Firefox-Hacks-Mozilla%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E6%B1%9F%E6%9D%91-%E7%A7%80%E4%B9%8B/dp/487311375X%3FSubscriptionId%3D0G91FPYVW6ZGWBH4Y9G2%26tag%3Dminorproble06-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D487311375X" target="_blank">Firefox 3 Hacks Mozillaテクノロジ徹底活用テクニック</a><img height="1" border="0" width="1" src="http://www.assoc-amazon.jp/e/ir?t=minorproble06-22&amp;l=ur2&amp;o=9" alt="" /></td>
</tr>
<tr>
<td valign="top"><a href="http://www.amazon.co.jp/Firefox-Hacks-Mozilla%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E6%B1%9F%E6%9D%91-%E7%A7%80%E4%B9%8B/dp/487311375X%3FSubscriptionId%3D0G91FPYVW6ZGWBH4Y9G2%26tag%3Dminorproble06-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D487311375X" target="_blank"><img border="0" src="http://ecx.images-amazon.com/images/I/41664CPo6pL._SL160_.jpg" alt="Firefox 3 Hacks Mozillaテクノロジ徹底活用テクニック" /></a></td>
<td valign="top"><font size="-1">江村 秀之</p>
<p>オライリージャパン  2008-08-27<br />
売り上げランキング : 1701</p>
<p>
<a href="http://www.amazon.co.jp/Firefox-Hacks-Mozilla%E3%83%86%E3%82%AF%E3%83%8E%E3%83%AD%E3%82%B8%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%E6%B1%9F%E6%9D%91-%E7%A7%80%E4%B9%8B/dp/487311375X%3FSubscriptionId%3D0G91FPYVW6ZGWBH4Y9G2%26tag%3Dminorproble06-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D487311375X" target="_blank">Amazonで詳しく見る</a></font><font size="-2"> by <a href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a></font></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://hmlab.info/minor/2008/09/ubiquitygj/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/2008/09/ubiquitygj/" />
	</item>
		<item>
		<title>なあ、ブラウザ天下一武道会やろうぜ</title>
		<link>http://hmlab.info/minor/2007/12/post-1/</link>
		<comments>http://hmlab.info/minor/2007/12/post-1/#comments</comments>
		<pubDate>Thu, 27 Dec 2007 12:22:35 +0000</pubDate>
		<dc:creator>Hex68</dc:creator>
				<category><![CDATA[MyMiniCity]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[MyMiniCityブログパーツ]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[クロスブラウザ]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">http://hmlab.info/wordpress/2007/12/post-1.html</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://hmlab.info/minor/2007/12/post.html">前回からの続き</a></p>
<p>Opera対応を夜中までかかってなんとか（無理繰り）終わらせて、床についたわけですよ。<br />ま<br />
だ見ぬsafariでのサイトの見え方に一抹の不安を拭いきれないでいたのだけれど、いや、多分大丈夫さ、きっとSafari君はできる子。なんていって<br />
もあのスティーブジョブスが生み出したブラウザだもの、なんて根拠の無い励ましで自分を落ち着かせてなんとか眠りについたんですよ。</p>
<p>一夜明けて。</p>
<p><span id="more-3370"></span><br />
サイトをご覧になった方からこんな心温まるコメントが僕の元に届きました。<br />
（以下コメント欄より抜粋。inetgate様ご指摘感謝します）</p>
<blockquote><p>こんにちは。</p>
<p>Safari(3.0.4)の場合、Windows版Safariだと字化けしますが、OSX版Safariだと正しく表示されるようです。</p>
<p>ご参考まで。</p>
</blockquote>
<p></p>
<p>
( ・ω・)・・・</p>
<p></p>
<p></p>
<blockquote><p>Safari(3.0.4)の場合、Windows版Safariだと字化けします</p>
</blockquote>
<p>
( ﾟ д ﾟ)・・・</p>
<blockquote><p>OSX版Safariだと正しく表示されるようです</p></blockquote>
<p>
　　　　ﾟ　ﾟ　ｽﾎﾟｰﾝ</p>
<p>( 　д　) 　　</p>
<p></p>
<p></p>
<p></p>
<p><b><font style="font-size: 1.25em;">あかん・・・もうおかあちゃん、無理かも知れんわ・・・<br /></font></b></p>
<p>
まあ、Win版Safariはまだベータだし、問題が残っているのは承知しているけど、お願いだからOS違いの同じブラウザで表示が違うってのは勘弁してくださいジョブスさん。</p>
<p>
もうさ、みんな、ブラウザはひとつにしよ？<br />
もう２１世紀なんだし、争うのなんかやめてさ。僕達、おんなじブラウザじゃないか。<br />
なに？独自性？優れたユーザビリティ？先進の拡張性？<br />
<font style="font-size: 1.95312em;"><b>黙れ猪口才な！</b></font></p>
<p>
ようし、わかった。</p>
<p>
こうなったら、年に一度、その年どのブラウザが一番優れているかを決める大会を開こうじゃないか。天下一武道会的な。<br />
で、その年のチャンピオンに決まったブラウザの仕様にみんな従うの。どんなに理不尽で、許せないクソ解釈でも、王の決定は絶対。<br />
はぁ？<b>W3C</b>？知らんなぁ、もう君、<b>マサチューセッツに帰りなさい</b>。<br />
で、年が変わるごとにチャンピオンが変わって、仕様がコロコロ変わって余計に苦労するという素敵ングトラップ。</p>
<p>天下一武道会ってより<font style="font-size: 1em;">幽☆遊☆白書</font>の魔界トーナメントみたいだけど。または金色のガッシュ。<b>あなたが優しい王様になればいいじゃない。</b></p>
<p>ええい、ブラウザ界を統一しようという、<b>現代のアレキサンダー</b>はどこかにおらんのか。</p>
<p>
ブラウジングはFlashベースで行うべき、HTMLなんて滅びろといったなんとも乱暴な論調のスレ主がいるスレを最近みたけど、こういう時はその意見に少し賛同したくなる。Flashならクロスブラウザも吸収してくれるでしょ？</p>
<p>
で、一応Win-Safariをダウンロードして確認しました。うん、文字化けってるね。<br />
ブログではなくて、MyMiniCityブログパーツが文字化けってました。<br />
safari以外のブラウザはiframeの中も自動判別して問題ないんだけど、Win-safariはしてくれなかったぽい。<br />
なので、PHPから出力する時にcharsetを指定するようにしました。<br />
こちらの環境（XP＋safari）では問題ないようだけど、どうでしょうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://hmlab.info/minor/2007/12/post-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://hmlab.info/minor/2007/12/post-1/" />
	</item>
	</channel>
</rss>

