2013-01-07 91 views
0

我將一個URL提取到一個IFRAME中,現在想要捕獲結果的縮略圖,以稍後向用戶顯示它們所遵循的鏈接。將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文檔的圖像? (然後我可以縮小到縮略圖並稍後存儲)。

回答

2

你不能在客戶端做到這一點,至少不是沒有iframe在同一個來源(「同一個網站」)。否則,這將是一個安全風險,因爲它打開了許多可能性的大門,如使用用戶的銀行帳戶詳細信息截圖銀行網站。

但是,你可以在服務器端做到這一點,但它並不容易。

你可以做的一件事就是安裝webkit2png並讓它製作網站截圖。你可以這樣稱呼它:

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()); 
    }); 
} 
+0

謝謝。 :(一個可能的解決方法是將url加載到當前文檔中,從那裏獲取圖像,然後將文檔恢復到Dart界面? –