Open sn0vv opened 4 years ago
Androidブラウザについて全く詳しくなく、また動作の想定もしていないのですが、 インポートできてウィンドウまで出たのなら動いてもおかしくはないですね。
Mouse Dictionaryではmousemoveを使用しています。 https://github.com/wtetsu/mouse-dictionary/blob/master/src/main/events.js#L51
しかしもしmousemove自体が機能してもその先の処理がけっこう複雑なので、 それがすべてKiwiでも動くのかどうか謎ですね。
(Edit: 4.でエラーになっている模様)
Mouse Dictionaryはマウスドラッグで選択したテキストを辞書引きする機能があるので、それが動くか試してみていただけないでしょうか。この処理は、上記で言う0~1がないので、マウスを動かした時の処理より単純な動作になります。
もしそれが動けば、mousemove自体かそれにまつわる処理(0~1)に問題があることがわかります。 動かなければ、2.以降の処理に問題がある可能性が高いです。
その他気になること:
早速のご回答ありがとうございます。
Mouse Dictionaryではmousemoveを使用しています。
mousemoveイベントの発生も「PCとスマホの Pointer Events 挙動まとめ」で確認しました。
Mouse Dictionaryはマウスドラッグで選択したテキストを辞書引きする機能があるので、それが動くか試してみていただけないでしょうか。
動きませんでした。
ウィンドウの移動やリサイズはできるのでしょうか?
ウィンドウの移動・リサイズともできました。 「Jump to corners of the browser」も動きました。
オプション画面で設定を開くと左に表示されるプレビューウィンドウ上は意味が表示されているのでしょうか?
お試し用テキスト「rained cats and dogs」に対して、rain cats and dogs と rain の結果が表示されています。 お試し用テキストを変更すると、プレビューウィンドウ上の意味表示も変更されました。
ご確認ありがとうございます。
以上の結果から、mousemoveイベントや座表取得自体は発生しているので、
のどちらかの可能性が高そうです。 (なんとなく前者の可能性が高そうな気がします)
Kiwiにもしコンソール (PC版のChrome/FirefoxではF12押下でひらくやつ)機能があれば、 そこにエラーが出ている可能性があり、そのエラーメッセージがあれば大きな手がかりになるかもしれません。
Kiwiブラウザでは、Developer Toolsが使えないので
MobileConsole demo pageに行き、 Mouse Dictionaryウィンドウを開いて単語の上にカーソルを動かしましたが、 Consoleには特に何も表示されませんでした。
なお、[フロントエンド] AndroidのChromeをPCからデバッグするに従うと、 Android ChromeをPCからデバッグできました。 一方、Kiwiブラウザは「手順3:PCのChromeからAndroidへ接続する」 までは行けるのですが「inspect」をクリックしても、Developer Toolsが起動しませんでした。
惜しいところまで動いている気がするのですが、 コンソールのログが見られないとなると、そちらでのこれ以上の調査は難しそうですね。
こちらで実機で調査しないと無理そうです。 (そして私の手元には実機がありません...)
PC Chromeだと↓拡張管理画面からログが見られたりするのですが、 Kiwiにはこのような機能もない感じでしょうか。
EdgeのDevToolsが使えました。
なお、Kiwi browser の GitHub Issuesで次を見つけて、確認できました。 Using Kiwi with Chrome Remote Debugging only gives a white page #29
仕組みがよくわかっていないのですが、Edge経由でKiwiのデバッグができるということなんでしょうか。
そうだとすると、このmathcAllのエラーですが、KiwiでmatchAllがサポートされていないのかその前段階の処理がおかしいのかこれだけだと不明ですが、大きな手がかりだと思います。
次版では少し改良を入れてみるので、その際は再度動作確認していただければ幸いです。
はい、Edge経由でKiwiのデバッグができます。
PCとAndroid tablet(Max3)をUSB接続して、 Max3:Kiwiブラウザ起動 PC:Microsoft Edge起動。アドレスバーに「edge://inspect/#devices」入力 Max3で認証してEdgeからinspect
KiwiブラウザではmatchAllがサポートされていないようです。
一方、Android Chromeでは動作を確認しました。
改良を入れていただけるとのことで、ありがとうございます。 動作確認は喜んでいたします。
動きました! これで洋書の読書がはかどります。感激です。
PDF.jsのデモページを利用して、PCと同程度のPDF辞書検索ができました。 以下のPDF利用方法は、たぶんMouse Dictionaryとは関係ないところで難ありでした。
感謝の意を込めて、ムラサキ 無印・劍のOSTバンドルを求めました。 Mouse Dictionaryの作者に驚いた、まもも小説も買った一ファンより。
@sn0vv
ご確認ありがとうございます! 動かない原因が単純な理由で良かったです。
ちなみに以下、Androidタブレットでの利用に関わる話なので、差し支えなければここでお聞きしたく思います。
Mouse DictionaryがAndroidタブレットで動くのであれば自分でも普段用途として欲しくなってくるところなのですが、 KiwiでのMouse Dictionary利用はBluetooth等のマウスが前提となるでしょうか。 あるいはタッチ操作でもまともに動くものなのでしょうか。
感謝の意を込めて、ムラサキ 無印・劍のOSTバンドルを求めました。 Mouse Dictionaryの作者に驚いた、まもも小説も買った一ファンより。
ありがとうございます、大変うれしいです😄
タッチだとウィンドウの移動・リサイズはできません。 単語タッチで熟語含む辞書検索はできます。 ただし、ウェブサイトのリンクだと開いてしまいます。 よって、タッチのみで使えないことはないけれど、マウスがあった方が良いです。
タッチに最適化したMouse Dictionary 改め Touch Dictionary(仮) があると 幸せな人が世界中にいると思われます。
なるほど、ご回答ありがとうございます。 Androidタブレットが手に入ったら検証してみたいテーマですね。
お世話になります。 snOvv様と同様、私もandroidタブレットでmouse dictionaryを利用したく、 kiwiアプリを入れてmouse dictionaryを利用しようとしたところ、 PDFビューアでテキスト選択が出来ませんでした。 解決策をご相談お願いします。 端末:Galaxy Tab S7 OS:Android 10 現状は、kiwiアプリをインストールし、 タブレットにマウスを接続し、web pageではmouse dictionaryが利用できる状況でございます。
PDFビューアでmouse dictionaryを利用を試みた際に、PDFファイル内のテキスト選択が出来ません。 PDFファイルは、PCでPDFビューアで確認した時には、テキスト選択出来、意味も表示されます。
androidタブレットで、web pageの文字にマウスオーバーした時はmouse dictionaryが正常に動作しますが、 PDFビューアではテキスト選択されないのですが、設定変更し使用可能でしょうか。
お手数ですが、ご教示頂きたくお願い申しあげます。
Androidはもともと正式に動作する環境として想定していないので、Mouse Dictionary内のPDFビューアが正常に稼働しない場合ですと、ちょっとこれ以上どうにかするのは難しいと思います。
どうしてもAndroidでもPDFに対して使いたい場合、おそらくWeb上のPDF.jsを利用するのが近道かと思います。
~https://mozilla.github.io/pdf.js/web/viewer.html~
(edit)こちらのほうがいいらしいです https://mozilla.github.io/pdf.js/es5/web/viewer.html
早速のご返信誠にありがとうございます。 お送り頂いたURLリンクは、Kiwiアプリでは、PDFファイルを開くことが出来ず、 Chromeアプリでは開けましたが、拡張機能が使えませんでした。 PCの方で今後も継続お世話になります。 ご作成ありがとうございます。
pdf.jsは2種類あります。
Online demo Please note that the "Modern browsers" version assumes native support for features such as e.g. async/await, and ReadableStream.
Modern browsers: https://mozilla.github.io/pdf.js/web/viewer.html Older browsers: https://mozilla.github.io/pdf.js/es5/web/viewer.html
Older browsers用ならKiwiブラウザでMouse Dictionaryが使えますよ。
@sn0vv なるほど、ご助言ありがとうございます! @Yudaina とのことなので、Olderのほうでお試しください。
@sn0vv 様! ありがとうございます。 これで、電車の中、会社の事務所、至る所で洋書読書が捗りそうです。 ご教示頂き誠にありがとうございます。 @wtetsu 様 タブレットで動作確認し、使えること確認しました。 PCでも、タブレットでもmouse dictionary利用させて頂きます。 ありがとうございます。
@sn0vv 様 先日は、誠にありがとうございました。 先日ご教示頂いた後、pdfビューアで読書を楽しんでおります。 PDビューアを使用しており、1点気になったのですが、 PDF上の文字が一部欠けて表示される現象に直面しております。 例: $125→ 125($が消えている) (1815-1900)→1815-1900) (括弧の前半分が消えている)
上記の状況は、PCでModern browsersでは見られない現象でございます。
このような現象は、sn0vv様はご経験ございますでしょうか? もし、ご経験されており、解決方法ご存知でしたらご教示頂きたくお願い申し上げます。
@Yudaina
同じ端末で、Kiwi以外の他のブラウザ、たとえばChromeで、同じPDFドキュメントを、
https://mozilla.github.io/pdf.js/web/viewer.html
または
https://mozilla.github.io/pdf.js/es5/web/viewer.html
で閲覧したときに、同じ現象は発生しますか?
@wtetsu 様 確認致しました。 ブラウザ以外同じ条件(同じ端末、同じPDFドキュメント)で試したところ、 Chrome、Firefoxでは、問題なくドキュメント上の文字が全て表示されております。 確認は、下記のURLで行っております。 https://mozilla.github.io/pdf.js/es5/web/viewer.html
https://mozilla.github.io/pdf.js/web/viewer.html 上記のURLの場合、 Chrome:問題無く表示されるが、mouse dictionaryが使えない。 Kiwi:PDFドキュメントを開くことが出来ない。 という状況です。
これは、Kiwiブラウザの問題でしょうか?
これは、Kiwiブラウザの問題でしょうか?
私もKiwiに詳しくないのですが、その可能性はあります。
そもそもこのIssueの発端もそうなんですが、 KiwiブラウザのレンダリングエンジンやJavaScriptエンジンが、 最新のChromeやFirefoxに比べると古いフシがあり、 それが動作や見え方の違いの原因となっている可能性があります。
Kiwiがアップデートされることで問題が解消される可能性はありますが、 それはKiwi側の都合もあるので(リリース時期や、エンジンを最新にできない事情などあるのかもしれません)、 私からは確たることは言えない感じですね。
ご説明ありがとうございます。 承知しました。 kiwiブラウザ上の表示の件は、改善が難しいかもしれませんが、 PDFドキュメントを読むうえでは大きな問題ではございませんので、 継続タブレットでmouse dictionaryを利用させて頂きます。
ですが、今後kiwiブラウザで読みにくさを感じた場合は、 kiwiブラウザのデベロッパーに問い合わせみたいと思います。 何か追加情報ありましたら、この場で改めて情報共有致します。
@wtetsu 様 @sn0vv 様 お世話になっております。
先日ご相談させて頂いた後、 androidタブレットにて、mouse dictionaryライフを満喫させて頂いております。 大変感謝しております。
先日ご相談させて頂いた際、 kiwiブラウザでは、一部文字が表示されないというトラブルがございました。
Yandexブラウザを使用することで、 そのトラブルが解決することが判明したため報告致します。
Yandexブラウザの場合は、 https://mozilla.github.io/pdf.js/web/viewer.html で、pdfを開きmouse dictionaryが使用可能でございます。
わがままなのですが、 タッチパネルで、mouse dictionaryのウインドウの移動やサイズ変更は技術的に可能でしょうか? ご教示お願い申し上げます。
@Yudaina
書き込みに気づいていませんでした。
タッチパネルで、mouse dictionaryのウインドウの移動やサイズ変更は技術的に可能でしょうか?
移動やリサイズだけであれば技術的には可能だと思います。
マウスを一切使わず、タッチパネルで完結するような用途を想定されているでしょうか?私がタブレットで使っていないのであまり理解できていませんが、そもそもMouse DictionaryのUI全般がマウスカーソルありき前提で設計されているので、タップでテキスト取得操作するのはちょっと不便なような気もするのですが(たとえばリンクテキストはタップするとページ遷移してしまうので辞書引きできなかったり)
@wtetsu ご返信頂き誠にありがとうございます。 はい、タッチパネルでの完結を想定しております。 仰られるとおり、タッチパネルでのmouse dictionary を使用する場合、 リンクがある文字をクリックした際は、リンク先に跳んでしまいますが、 あまり不便ではない状況でございます。
可能でございましたら、 タッチ操作でのウインドウの移動とサイズ変更を可能にして頂けると大変ありがたいです。 ぜひ、ご採用のご検討お願い申し上げます。
てつさんが答えてないのに、私が技術的に可能と言うわけにはいかないよなぁ、と見ていました。
Yandex Browser良いですね。
よって、Kiwi Browserに比べて格段にPC Chromeに近いと思われます。
タッチ操作でのウインドウ移動とリサイズが非対応であることへの対策として、 ダブルタップで小窓が画面下いっぱいに表示されるようにしてみました。 https://github.com/sn0vv/mouse-dictionary/commit/3d56712156bb428724c9958efcb8804f1a2f1205
PDFビューアと別タブのDeepLで、最強のモバイル洋書体験ができています! なお、私がタブレットで読むのは基本PDFなので、タップによるリンクのページ遷移は気になりません。 (ところで、PDFビューアの技術的な話の追記を楽しみに待っています)
たぶん、てつさんご自身がAndroid タブレットでMouse Dictionaryを普段使いするようになることが、 一番の開発モチベーションアップにつながると思うのでアピールしておきます。
@Yudaina @sn0vv
情報ありがとうございます。 ぼくはタブレットで使っていませんが、たとえば電車内とかでタブレットで英語ドキュメントをMouse Dictionary使いながら読めたら便利なことは想像できるので、時間がある時に対応を試みてみたいと思います。
@Yudaina @sn0vv
β版として、タブレット対応試作版を公開したので、お試しください。 https://chrome.google.com/webstore/detail/mouse-dictionarybeta/ehebancbhejilcmjkoaiphmponbmgbeb
マウスと同じ感覚で移動とリサイズができるようにしました(うまくいっていれば) そちらの実機でもちゃんと動くようであれば、正式版の方にも反映したいと思います。
@wtetsu 機能追加誠にありがとうございます。 動作確認し 、非常にスムーズに動作し、さらに快適になりました。
@sn0vv 様
@wtetsu 様にご作成頂いたmouse dictionary(beta)をyandex browserで試しました。 Yandex browserは、alpha版、beta版、正式版?の3種類あるのですが、 私のタブレットがおかしいのか、alpha版のみで、mouse dictionary(beta)が正常に作動し、 PDFビューアを何度か開いたり閉じたりしていたら、なぜか正常に作動しなくなってしまいました。 その後、alpha版を再インストールし、改めて動作するか確認しようとした際、 英辞郎の辞書データさえ読み込まなくなりました。 辞書アップロードのloadボタンが反応しなくなりました。
@sn0vv 様のandroidデバイスで、上記のようなご経験ございますでしょうか? 解決方法をご存知でしたらお教え頂きたくお願い申し上げます。
私のデバイスは、下記になります。 端末:Galaxy Tab S7 OS:Android 11(先日、Android 10からアップデートしました。)
@wtetsu ご対応ありがとうございます。
touchstartイベントをmousedownイベントと同じ扱いにして、 タッチ操作で小窓の移動とリサイズができるようにされたのだと思います。 ただ、これによりタッチ操作で次のことができなくなりました。
解決策として、小窓の2点タッチでモード切替できるようにしてみました。 normal:従来どおり ⇔ moveResize:小窓の移動とリサイズ https://github.com/sn0vv/mouse-dictionary/commit/ae51eb34a283585509bb5eb74422b5e756f5d9d1 ご検討いただければ幸いです。
@Yudaina Yandex Browser Betaを使用しています。 今のところ不具合は経験していません。 環境 ・Boox Max3 Android version 9
なるほど。 ちょっと整理してみました。
バージョン | 方式 | 移動・リサイズ | 窓内スクロール |
---|---|---|---|
v1.5.0 | 従来(タブレット考慮一切なし) | 不可能 | 普通にタッチ+上下 |
v1.5.1.1(Beta) | touch イベントを mouse イベントと同等に処理 | マウスと同じ | 不可能 |
ae51eb34a283585509bb5eb74422b5e756f5d9d1 | モード切替(例:2 点タッチ) | マウスと同じ | モード切替後に操作 |
他、未実装の案。
方式 | 移動 | リサイズ | 窓内スクロール |
---|---|---|---|
1 | 2 本指スワイプ | 端をひっぱる(マウスと同じ) | 普通にタッチ+上下 |
2 | 2 本指スワイプ | ピンチイン/アウト | 普通にタッチ+上下 |
3 | 窓をひっぱる(マウスと同じ) | 端をひっぱる(マウスと同じ) | 2 本指タッチ+上下 |
で、以下の点から「3」がバランスがいいかなあ、というのがいまの考えです。
- PC と同様の操作を維持する(利用者視点:操作に気づきやすい、実装者視点:タブレット考慮が最小限で済む → 今後のメンテナンスへの影響少)
- 「モード切替」というワンクッション操作を挟まずに移動も窓内スクロールもできるので通常操作が快適(と思われる)
- 「2 本指でスクロール」という概念は MacBook のトラックパッドで お馴染みなのでさほど違和感がないのではないか
問題は「小窓内での辞書検索」ですが、これは2本指タップで選択モードに入る、とかがいいかなあと考えています(マウス操作のダブルクリックと同等)
ご検討ありがとうございます。 方式3+2本指タップで選択モードに入る、に賛成です。
PC と同様の操作を維持する(利用者視点:操作に気づきやすい、実装者視点:タブレット考慮が最小限で済む → 今後のメンテナンスへの影響少)
になるほどなぁと感心しました。
「2 本指でスクロール」という概念は MacBook のトラックパッドで お馴染みなのでさほど違和感がないのではないか
私には馴染みのない概念ですが、Macユーザにはお馴染みなのですね。
@sn0vv 回答ありがとうございます。 OSアップデートの影響かもしれないんですね。。。 状況改善するまで、気長に待ちます。
@wtetsu タブレット使用時の仕様のご検討ありがとうございます。 方式3の仕様に概ね賛成なのですが、一部ご相談ございます。 私の個人的な使い方として、 窓を左端に置きPDFファイルを読んでいるのですが、 スクロールするときは、左親指一本で行っているので、 2本指より1本指でスクロール出来るとありがたいです。
「小窓内での辞書検索」についても、親指1本で検索実行したいので、 指1本で実行操作可能な仕様が希望です。 sn0vv様と一部意見が異なりますが、 一意見としてご認識頂けるとありがたいです。
これでどうでしょう。
実際のところ、いったん小窓を配置してしまえば、不用意に小窓を動かさないで済む従来どおりの方が使いやすいと思います。
ちょっとまだ方針で迷っているので、リリースとかはしません。 とりあえず二本指スクロールはなしになりそうです。 (タブレットのこの操作は思ったよりやりづらそうという理由)
とりあえずMouse Dictionaryとしての基本方針。
いまの考えていることは、タブレット版でもウィンドウの右端にスクロールバーがあって掴めれば、 移動もスクロールもモード切替などといった面倒(実装も操作も)なことをしないで済むのではないか、ということです。
タッチ操作による小窓内での辞書検索は非対応ということですね。 「Mouse Dictionary」なので、その基本方針はむべなるかな。 個人的に対応しようと思います。
↑はモード切替しない上での操作体系の話で、 モード切替含めるのであれば、 ダブルタップ→小窓内のテキスト選択 みたいになるかと思います(要はPCと同じ)
早とちりでした。 そうしていただけると、言うことなしです。
こちらのIssueでの議論を参考に、タッチデバイス特化のTouch Dictionaryを作ってみました。
大きな特長は以下の2つです:
PCとの互換性は全く考慮していないのでPRは控えますが、本Issueの議論への何かしらの一助になればと思い、ひとまずここまでの成果を共有した次第です。
お手元の実機で試される場合はこちらのリポジトリをご覧ください。 Pixel 6 (Android 12)のKiwi Browserでは動作確認済みです。
@Detsudetsu
とても良さそうに見えます!
@Detsudetsu 小窓はブラウザ下部に表示する仕様にしたのですね。 すぐ使えて良いと思います。 リンクテキストも検索できるので、英語サイトの閲覧がはかどりそうです。
何よりONLINE ETYMOLOGY DICTIONARYに飛べるのが気に入りました。 有効活用させていただきます。 ありがとうございました。
@Detsudetsu タブレットPC(SurfaceGO)のchromeでも動作しました。 非常に便利で使わせていただいております!
ただ。PDF.jsを開こうとすると次のエラーがありました
エラー Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist. コンテキスト background.js スタック トレース background.js:0 (無名関数)
また、個人的には小窓の幅に、今の2つの中間くらいの物があればよいなと思います。 小窓の”touch dictionary”の表記や外部辞書リンクのアイコンについて、オンオフが出来ればよいなと思います。
@ramnoob 報告ありがとうございます!
PDF.jsを開こうとすると次のエラーがありました
ビルトインのPDFビューアーが開けないということでしょうか? それでしたらこちらでも再現できました。 どうやらMouse DictionaryのリポジトリにPDF.jsが含まれていないようで、そもそもPDF.jsを含めずにビルドしてしまったようです。 試しにストアから落としたMouse DictionaryのPDF.jsを埋め込んでみたところ、(小窓の開閉アニメーションに使うcssの注入以外)上手く行きました。
@wtetsu PDF.js関連の諸ファイルをどのように入手し、リポジトリのどこに配置すればよいか、ご教示頂けますでしょうか? どこかにドキュメントとして書いていただけると、なおありがたいです。
外部辞書リンクのアイコン
こちらはMouse Dictionaryが提供しているカスタムCSS機能を使っているだけなので、Mouse Dictionaryのとき同様にCSSを書き換えていただいて問題ございません。
小窓の幅に、今の2つの中間くらいの物 小窓の”touch dictionary”の表記
こちらについては議論の余地があるかと思うのですが、どちらかというとTouch Dictionary固有の問題になってしまいますので、Touch Dictionaryのリポジトリの方で行おうかなと思います。 僕の方でDiscussionを立てておきました: https://github.com/Detsudetsu/touch-dictionary/discussions/10 https://github.com/Detsudetsu/touch-dictionary/discussions/11
とりあえずこれなんですが(READMEにリンクがあります) https://github.com/wtetsu/pdf.js/tree/md_v2.4.456 Mouse Dictionary配布物内のoptions/pdfをコピーしても良いと思います。
PCで便利に使わせてもらっています。 電子ペーパーをディスプレイとするタブレットで使えるとステキだと思い、 動作を試したのですが辞書検索はできませんでした。 現状Androidで使うことは無理でしょうか。
試した経緯です。 環境 ・Boox Max3 Android version 9 ・Bluetooth接続マウス
PCでは、www.ted.comでの検索を確認しています。 もしやタブレットだとmouseoverイベントが発生しないのかと思って PCとスマホの Pointer Events 挙動まとめ で調べたら、pointerover, mouseoverは発生しているようです。