20783


Chromeアプリを作っているのですが、  
ローカルにある画像ファイル(.png)ファイルを読み込んで、プレビューする機能があります。

プレビューする部分は実装できたのですが、  
.pngを別の画像加工ソフトで書き換えた時に  
自動的に再読み込みしてプレビューする機能をさらに追加しようと考えています。  
※自動ではなく「リロード」ボタンをクリックして再読み込みする機能は実装できています。

そのため、ファイルの変更状況を監視する機能が必要になるのですが、  
ChromeのAPIのドキュメントにそれらしい記載があるのですが、  
どうやって実装するものなのか検討がつきません。

下記のURLの「ChildChangeType」の部分  
<https://developer.chrome.com/apps/fileSystem>

どうやって実装するものなのか教えていただけないでしょうか？  
よろしくお願いいたします。


CC BY-SA 3.0
2015-04-30T15:36:01.453
9712
2016-01-09T12:53:07.467
9552
question
javascript google-chrome google-chrome-apps
Chromeアプリで読み込んだローカルファイルの変更をウォッチして再読み込みしたいです。


その機能はどうやら開発が途中で止まっているようです。

[Issue 261491: Implement Entry Watcher API (and remove our old private methods
for it).](https://code.google.com/p/chromium/issues/detail?id=261491)

上記の機能は、chrome.fileSystem.observeDirectory()によって、指定されたDirectoryEntryで特定されるディレクトリ内の変更を検知してイベントを受け取れるAPIのようです。Chrome
47 Stableでも、chrome.fileSystem.observeDirectory()は実際に存在するようです。

[chrome.fileSystem (Entry Watchers) - Extended Chrome API
Proposal](https://docs.google.com/document/d/1aW-37JOBZgoD2CIPvoBEgw6bog8gFSowpfqtDEKt5Vo/edit#heading=h.w8inspeo32bj)

ただし、上記のIssueがCloseされていないところを見ると、残念ながらまだ利用することはできなさそうですね。

ChromeのAPI ReferenceはIDLから自動生成されているようなので、まだ使えないけれどもIDLにて定義されているものがうっかりAPI
Referenceに載ってしまうということが度々あります。ChildChangeTypeについても、うっかり載ってしまったものだと考えて良いと思います。

現状はChromeのAPIを使うことができないので、例えばchrome.alertsにより定期的に「リロードボタンクリック時の再読み込み処理」をコールして、前回読み込んだ内容と異なるかどうか比較して・・・という処理を自前で行う、といったことが必要かと思います。


CC BY-SA 3.0
2016-01-09T12:53:07.467
20783
2016-01-09T12:53:07.467
531
9712
answer