firefoxのlinux版の黒歴史のお陰か
全くfirefox osに興味が湧きません
というわけでfirefox osのいい話を聞かせて
2 :
login:Penguin:2012/07/20(金) 15:10:14.06 ID:eghW2Ghz
Mozilla終了
糸冬 了..._φ(゚∀゚ )アヒャ
Linuxとどういう関係があるんだよ?
マイクロソフトが発端じゃないのに・・・
日本語化できているなら使ってみたい
LINUXでも日本語サポート(表示、入力)できないと普及しないようにFirefoxOSでもサポートしてほしいス
9 :
login:Penguin:2012/09/29(土) 20:54:25.94 ID:X1w1StVy
うわ、過疎ってるな!
subarasii adoon ga Firefox ni takusan aru
11 :
login:Penguin:2012/10/01(月) 02:49:32.80 ID:vTG/7ZJY
やっぱカーネルはLinuxなのか
USB日本語キーボードでアンダースコアなどが打てないLinux
に完全な日本語対応は期待できない。
13 :
login:Penguin:2012/10/11(木) 19:04:38.68 ID:dlVT99sA
なぜそう思うのか140文字以内で述べよ。
>>12 どうせ英語キーボードになってるんだろう。
そうだなぁ、君がパソコン音痴であることが証明されてしまった原因はLinuxにある。
特に、UbuntuやFedoraのようなメジャーなディストリの場合は、
WindowsやMacOSXと同じようにインストール時にキーボードレイアウト設定を促す画面が出てくるし、
インストール後にレイアウトの設定を変えるのはMacOSXと同じくらい簡単で、Windowsに比べれば遥かに簡単だ。
最悪、対応するドライバが入っていない状態で、ドライバを入れる努力すらしなかったのなら、君はWinXPのセットアップもできないし、
Ubuntuの、検出したハードウェアの適切なドライバをリポジトリから自動でダウンロードするダイアログの決定ボタンもクリックできなかったということだろう。
仮に君の責任をLinuxがとってくれたとしても、苦労するのは君一人だ。
つーかさ、携帯電話を電話機メーカーや電波の会社のサポート以外のOSに変える奴はあまりいないよ
自分が使っていないのにスレ立てんなよバカ
どうなの?使えるの?
17 :
login:Penguin:2012/11/02(金) 19:27:52.32 ID:+ikLHUWx
使えるかどうかを問うのはまだ早いよ
OSの純標準で用意されたままFirefoxを使ってるが超最新版にアップグレード
したほうがいいかな?
キンドルゥゥゥ!!!!ファイヤーーーー!!!!
・・・あれ?
もっさり もっさり
Androidの機体にそのまま載るのか?
10年前のLinuxみたいに古い機体に載せるのが流行ればいいね(棒)
Androidよりも動作が遅い
,.-.、
,? ヾ 、
/ / _ ', \
. く _,.f‐'´ ``‐i..,_ > やはりイカ娘スレは伸びないでゲソ!!
ハハX_,∨,_メハハ もうすぐ打ち切りでゲソ!!
┌‐| io⌒ ""⌒o! |ー┐
,.^ニニノノ\(⌒⌒)/ゝ、ニニ^ 、
く く. //| | o、~/ | | | | 〉〉
. く 〉| | | | `´ .| | | | く 〉
~~ ` く X二)~~~(二X >~'´~
彡,ハ} {ヘ ミ´
) (
⌒γ⌒V⌒ヽf⌒
===========================○============
age
興味なし
ちょっと、誰も自分でビルドしてないの?
ビルドしてGalaxy Nexusに入れたが、物理ホームボタンがないとまともに操作できない糞仕様だった。
Xperia Eに入れた人いる?
32 :
login:Penguin:2013/07/22(月) NY:AN:NY.AN ID:b8w4uscJ
xperia eで通信できる様になったら起こしてくれ。
34 :
login:Penguin:2013/08/15(木) NY:AN:NY.AN ID:h/a1EoSw
Xperia E、俺もポチッた
スマホ板に該当スレがなさげなのがオツやね
36 :
login:Penguin:2013/08/18(日) NY:AN:NY.AN ID:wUt34ZZM
ゲソー
41 :
login:Penguin:2014/02/11(火) 12:23:56.19 ID:6qOkAJQg
共存共栄
最近のmozillaの存在感の無さは異常
43 :
login:Penguin:2014/02/15(土) 20:31:29.81 ID:Y5Q/dah1
Flameは国内だといくらするんだろうな
輸入物の方が得だとかいうのは勘弁
ご存知の通り、Firefox 19以降にはPDFビューアが付属しています。
FxOS 1.3はFx28のGeckoを使っているのでPDFを見れるのでは?と
思って試してみました。
Fxに付属のPDFビューアは「pdf.js」というWebアプリで、
下記からデモを試せます。
http://mozilla.github.io/pdf.js/ FxOS 1.3のシミュレータでBrowserを立ち上げ、
上記のデモを試してみたところ、見事、PDFの表示ができました。
ところが、他のサイトのPDFを表示しようとするとFxで見慣れた、
ファイルの処理方法を選択するダイアログが表示されます。
しかも、シミュレータのウインドウの外側で。
1.4のシミュレータではダイアログこそ出てこないものの、
PDFがBrowser内で表示されず、ダウンロードされてしまいます。
まだ上手く動かないのかなぁと思っていたところに、
WebActivityの紹介記事を目にしました。
https://dev.mozilla.jp/2013/01/introducing-web-activities/
紹介記事を見る限り、WebActivityというのはWindowsの関連付けとか、
DDEに似た何かっぽい感じです。
紹介記事ではWebActivityの仕組みを使ってCameraアプリを呼び出し、
カメラで撮影された画像を取得する例が示されています。
キーになるのはMozActivityというインタフェース。
こいつのコンストラクタに下記のようなオブジェクトを渡してやると
対応するハンドラが起動するようです。
{
name: 'pick',
data: {
type: ['image/png', 'image/jpg', 'image/jpeg']
}
}
ここで、nameが「何をしたいか」を意味している模様。
Windowの関連付けだとopenとかeditとかのアレ。
そしてdata.typeはあからさまにMIMEタイプ。
つまり、とあるタイプのデータに、とある操作をしたいよと
FxOSにお願いすると、しかるべきアプリを呼んで頂ける、と。
ということは、WebActivityを使ってpdf.jsを呼べばいいんじゃね
と思いついちゃったわけです。
思いついたら止まらない。
FxOS先生にお願いする前に、まずはGoogle先生に聞いてみます。
キーワードは「WebActivity」。
公式のAPIリファレンス的なページが引っかかりました。
https://developer.mozilla.org/en-US/docs/Web/API/Web_Activities うぁ、英語だ・・・
とりあえず、ページ内を「PDF」で検索。
あった。
どうやら nameにview、data.typeにapplication/pdfを
指定してやればよさげ。まんまですな。
でも、表示するPDFを指定する方法が書いてない。
紹介記事では、「URLを開く」の場合、data.urlに対象のURLを
文字列で指定してる。たぶん、これでBrowerが呼ばれるんだろう。
Videoもurlを指定するっぽいし、とりあえずurlで試してみよう。
ということで、Fx33(beta)のWebIDEを起動し、
新規作成ウィザードでアプリのスケルトンを作る。楽だ。
WebIDEが生成するスケルトンはprivilegedなアプリになります。
特権アプリって奴です。
本来はマーケットの登録審査をパスし、
マーケットからインスコすると特権がもらえるらしいですが、
今回はシミュレータを使うので、その辺はスルーっぽいです。
(正確には、マーケットの審査+ユーザの許可で特権付与)
FxOSでアプリを起動したときに読み込まれるHTMLは
manifest.webappのlaunch_pathに書いてあります。
デフォルトでは /index.html です。まんまです。
WebIDEでプロジェクトを開くと、ファイルの一式が
ツリー表示されますが、そのルートにあります。
特権アプリはHTMLの中にスクリプトを書いちゃダメらしく、
スケルトンではエントリポイントになるjsが用意されています。
/js/app.js
大外にはjs使いにはおなじみのおまじないが付いてます。
start()がエントリポイントになってるっぽいので、
ここに追記していくことにしました。
いきなり冷水に飛び込むと心臓麻痺を起こすので、
まずは温め(と思われる)Browserからいってみました。
紹介記事のまんまです。
というか、紹介記事より簡単だった。
紹介記事ではカメラを起動した後、撮影した画像を取得するために
イベントハンドラを使っています。XHR風味です。
一方、Browserの場合、起動しておしまいなのでハンドラの登録とか、
多分不要です。一応、つけときましたが。
ぶっちゃけ、MozActivityをnewするだけ。
さて、いよいよ、本題です。
といっても、違いはdata.typeをapplication/pdfにして、
data.urlをPDFのURLに変えるだけ。
どきどきしつつ、アプリを起動・・・、おお、表示された。
ていうか、字がちっちぇwww (拡大できます)
なんだ簡単じゃん。<びびってたくせに
とりあえず、当初の目的は達成されたわけですが、
人間の欲望には限りがありません。
これでウェブのPDFは見れるけど、SDカードとかに保存したPDFも
見れたらいいよねとふと思ってしまいました。
ちら見した感じでは、SDカードに保存したファイルは
DeviceStorage APIという奴でFileの形で取れるっぽいです。
FileというのはHTMLのinput要素で指定されるあれです。
Fileの中身を読むのに使うのがFileReaderです。まんまです。
FileReaderにはreadAsDataURL()なるメソッドがあります。
data URLはデータをまるっとbase64してURI形式にした文字列。
曲がりなりにもURLなら、こいつを渡して表示させられるかも。
思いついたら止まりません。
とはいえ、DeviceStorage APIの勉強をするのもメンドイので、
馴染み深いXHRで代用してしまいます。
XHRことXMLHttpRequestはAjaxの中核コンポーネントっていうか、
そのものなもので、XMLとかJSONとかHTTPで取得するのに使います。
歴史的経緯で頭にXMLがついていますが、HTTPなら何でも取れます。
単純にHTTPのクライアントです。XMLとか無視しておkです。
XHRは便利なんですが、jsのダウンロード元と同じドメインとしか
通信できません。サーバが応答を返してもGeckoがブロックしやがります。
サーバー側でCORSに対応してくれれば良いんですが、そんなん無理。
2ちゃんのdatが採りたかったら、ひろゆきに頼むのかよって感じです。
使えねーす。これが Same Origin Policy という奴です。
ちなみにこれ、クライアント側のセキュリティとはほぼ無関係と思われ。
攻撃側のサーバを開いておけば通信できちゃうので。
たぶん、サービス提供者側の勝手に使うなという主張に沿った感じの
何かではないかと思われます。ああ、不自由。
ここまでが普通のWebアプリの話。
FxOSではアプリにsystemXHRという特権を与えてやれば
ドメインの壁を抜けられます。
アプリ側ではXHRのコンストラクタに{ mozSystem : true }を渡します。
これでどこでもアクセスし放題。2ちゃんのdatも取れます。
ユーザーの立場の時は、アプリにsystemXHRを要求されたら、
それ本当に必要?とちょっと考えた方が無難です。多分。
XHRは超有名なので使い方は端折りますが、
今回は、send()の前に responseType = 'blob' とやって、
onsuccess で受け取る response をBlobにします。
BlobはFileの汎化で、FileReaderはBlobもFileと同じように読めます。
処理の流れは、XHR→FileReader→MozActivityです。
やってみたら上手くいきました。さくっと。
これら3つが3つともXHR風味なのが素敵なところですが、
それ即ちコールバック使いまくりということなので、
jsに慣れてない人が見るとうんざりかもしれません。
ここまできてなんですが、この方法ではウェブのPDFしかみれません。
XHRの部分をDeviceStorage APIに置き換える必要があります。
あと一歩ですが、眠いのでここまでにします。ごめんね。
そんな分かりきった事を長々やってんなよ
チラシの裏に書いてろチクショウ
Win7(x64)でもブラウザのFirefoxならWebGLが使えるもんだから、
シミュレータの問題だと確信を持つまで時間くった。
Geckoのビルドオプションとか違んだろうけど、そこまで追いきれんわ。
改造といっても、大したことはしていません。
まず、長押しで表示される入力候補文字を定義します。
修正するのは、Keyboardアプリの js/layout/jp-kanji.js です。
alt というプロパティを追加するだけです。
英語入力用の en.js からパクりました。
次に、長押し入力された文字の処理をIMEに追加します。
修正するのは、js/imes/jskanji/jskanji.js です。
VKBのキーが押されると、IMEのclick()という関数が呼び出され、
click()→qNext()→handleNormalKey()と順に呼び出されています。
入力された文字は _inputBuf という配列に格納されます。
handleInputBuf()という関数から呼び出される queryDict()という関数で、
_inputBuf を入力として変換候補が選出されます。
ユーザーが変換候補を選択して未確の入力(の一部)を確定すると、
選択した文字列(漢字など)がinput要素に送られ、それとともに、
当該部分が _inputBuf から掃き出されます。
今回の改造はかな入力の部分だけで変換処理はそのまま流用できるので、
変更するのはhandleNormalKey()のみです。
handleNormalKey()はVKBで押されたキーに対応する文字を _inputBuf に
格納しています。
この際、前回入力されたキーと今回入力されたキーが同じ場合は、
_inputBuf の末尾の文字を50音の次の文字に変更します。
例えば、最初に「あ」が入力されると、_inputBuf には「あ」が格納され、
続いて再度「あ」が入力されると _inputBuf に格納されていた「あ」が
「い」に変化するといった具合です。
一方、最初が「あ」で次が「か」なら _inputBuf は「あか」になります。
長押しで入力された文字は単純に _inputBuf の末尾に追加すれば良いの
ですが、「あ」の列(あ、か、さ、・・・)についてはガラケー方式と
同様の処理になるように細工しています。
これは、IMEに渡されるのは入力された文字だけで、それが単純に
タップで入力されたのか、長押しで入力されたのかの区別がつかない
ためです。このため、入力文字に対応するキートップの文字を
逆引きするためのテーブルを追加して既存の処理とのつじつまを
合わせています。
この辺の処理はガラケー方式での入力は不要と割り切れば捨てられますが、
長押しよりガラケー打ちの方が早く入力できる人がいそうな予感が
したので残してあります。
やっておいてなんですが、やっぱり、長押しではフリック入力には
遠く及ばない感じです。
Keyboardアプリ関連のTipsを1つ。
FxOSアプリのjsでconsole.log()を呼ぶと引数で渡した文字列が
Webコンソールに表示されます。
これを使うとprintfデバッグのようなことができて便利です。
Webコンソールを使うにはまずデバッグ対象のアプリに
アタッチする必要があります。
WebIDEで普通のアプリをデバッグする場合は、
WebIDEからアプリを起動後、画面上部中央にあるコンセントの
アイコンをクリックすればアプリのデバッグが開始し、
Webコンソールが開きます。
さて、Keyboard関連の場合はというと、シミュレータの場合、
インストール済みアプリの一覧が表示できるので、
その中から「System」を選びます。
これで通常のアプリと同様にデバッグができるようになります。
「Build-in Keyboard」なんていうのもありますが、
そっちはキーボードの設定画面なので、console.log()で
IMEの処理を追いかけたい場合は「System」を選ぶ必要があります。
(最初、これが分からなくてちょっと時間をくった)
なお、実機の場合、デフォルトではSystemなどの組み込みアプリは
一覧に出てこないようですが、端末内の定義ファイルを書き換えれば
シミュレータ同様にデバッグできるようです。
63 :
login:Penguin:2014/11/17(月) 18:15:26.84 ID:A9HBbE6x
osをアッブデートしたら、起動でこけるようになってしまった。
64 :
login:Penguin:
期待はしてる。