0

URL を IFRAME にフェッチし、結果のサムネイルをキャプチャして、後でユーザーがたどったリンクを表示したいと考えています。

void receiveHtml(Event e) {
  ...
  iframe.convertToImage... // <----- ????? How to do this?
}

IFrameElement iframe = query('#iframehtml') as IFrameElement;
...
iframe.on.load.add(receiveHtml);
...
iframe.src = url; // E.g. url='http://someplace.com/dir/'

DART で iframe ドキュメントを画像にキャプチャする方法はありますか? (サムネイルに縮小して後で保存できます)。

4

1 に答える 1

2

少なくとも iframe が同じオリジン (「同じ Web サイト」) にない限り、クライアント側でこれを行うことはできません。そうしないと、ユーザーの銀行口座の詳細を含む銀行の Web サイトのスクリーンショットを作成するなど、多くの可能性への扉が開かれるため、セキュリティ上のリスクになります。

ただし、サーバー側でこれを行うこともできますが、それほど簡単にはなりません。

できることの 1 つは、webkit2pngをインストールして、Web サイトのスクリーンショットを作成できるようにすることです。次のように呼び出すことができます。

import 'dart:io';

main() {
  Process.run('python', ['/path/to/webkit2png', 'http://google.com']).then((result) {
    // Here you can open and do whatever you want with the screenshots.
    // The files are placed in the current directory.
    print(new File('somescreenshot.png').readAsBytesSync());
  });
}
于 2013-01-08T07:45:18.097 に答える