私は、Flexでページを積極的に読み込むHTMLコントロールを持っています。 私はそのHTMLコントロールからすべてのイメージを抽出したり、表示したりできますか?FlexでHTMLコントロールからすべての画像を取得するには?
1
A
答えて
2
実際にHTMLドキュメントDOMを使用して、すべてのimgタグについて尋ねることができます。これは、このように多くのクリーナーです。
DOMを取得したら、それはすべて標準ですので、何かがわからない場合はHTML DOM documentationを確認できます。
ここでは簡単な例を示します。 Taurayiの例で呼び出されるように、onComplete関数を書くだけです。
var _imagesSrc:Array= [];
private function onComplete(e:Event):void
{
var htmlLoader:HTMLLoader = e.target as HTMLLoader;
var doc:* = htmlLoader.window.document; //use void (*) type for DOM objects
var imgTags:* = doc.getElementsByTagName("img");
if(imgTags)
{
for(var i:int=0;i<imgTags.length;i++)
{
var src:* = imgTags[i].getAttribute("src"); //not sure about return type here, could also be a String
if(src)
_imagesSrc.push(src.toString());
}
}
}
2
よく考えれば、HTMLLoader
を使ってhtmlページを読み込み、読み込んだときにソースを取得するという考えがあります。次に、パーサーまたは正規表現を使用して、<img />
タグのsrc
属性の値を抽出します。 src
属性の値は、読み込んだページの画像へのURLになります。その後、Loader
と上記のURLを使用して、それらをあなたのフラッシュアプリケーションにロードします。ここで
は例です:
Main.as(ドキュメントクラス):
package
{
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.Sprite;
import flash.events.Event;
import flash.html.HTMLLoader;
import flash.net.URLRequest;
public class Main extends Sprite
{
public function Main():void
{
var htmlLoader:HTMLLoader = new HTMLLoader();
htmlLoader.addEventListener(Event.COMPLETE, onComplete);
htmlLoader.width = stage.stageWidth;
htmlLoader.height = stage.stageHeight;
htmlLoader.load(new URLRequest("http://www.wampserver.com/"));
}// end function
private function onComplete(e:Event):void
{
var htmlLoader:HTMLLoader = e.target as HTMLLoader;
var body:String = htmlLoader.window.document.body.outerHTML;
var imgTags:Array = getImgTags(body);
var src:String = getSrc(imgTags[1]);
trace(src); // output: http://www.wampserver.com/wp-content/themes/wampserver/img/home-title.png
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
loader.load(new URLRequest(src));
}// end function
private function onLoaderComplete(e:Event):void
{
var loader:Loader = (e.target as LoaderInfo).loader;
addChild(loader);
}// end function
private function getImgTags(source:String):Array
{
return source.match(/(<img.*?>)/g);
}// end function
private function getSrc(imgTag:String):String
{
return imgTag.match(/src="(.*?)"/)[1];
}// end function
}// end class
}// end package
これは単なるアイデアである点に注意してください、いくつかの明白な欠陥があります。
+0
いいね!ありがとう!最初にDOMオブジェクトメソッドを試してみましょう。 – Afra
関連する問題
- 1. htmlから画像を取得する
- 2. ライブ画像からすべての画像を取得
- 3. 画像コントロールから画像データを取得WPF
- 4. Flexオブジェクト/モジュールからすべての情報を取得する
- 5. HTMLコードから画像のURLを取得しています
- 6. HTML領域から関連する画像を取得する
- 7. Amazon API製品からすべての画像を取得
- 8. DOMDocumentからすべてのHTMLリンクを取得するには?
- 9. 特定のフォルダからすべての画像を取得する方法は?
- 10. アンドロイドで、カメラから取得した画像の画像IDを取得する
- 11. Flexで同期してByteArrayを外部アセット画像から取得
- 12. imageViewの画像をgridViewから表示します(データベースからすべての画像を取得します)
- 13. HTMLから画像サイズを取得する
- 14. データベースから画像を取得し、すべてを1ページに表示する
- 15. 他のフォルダにあるすべてのフォルダから画像を取得
- 16. divからhtmlを取得する画像タグを取得しない
- 17. iosで画像からテキストを取得する(画像処理)
- 18. iphoneフォトアルバムですべての画像を取得する方法
- 19. インターネットからVBA画像コントロールに画像を追加する
- 20. サーバーからアンドロイドアプリへのすべての画像を取得する方法
- 21. フォルダから画像を取得する
- 22. データベースから画像を取得する#
- 23. データベースから画像を取得する
- 24. ヘッダーから画像を取得する
- 25. PHP:データベースクエリの画像から画像を取得する
- 26. APIから画像の一覧を取得し、リスト内のすべての画像を表示する
- 27. 入力フィールドから画像を取得して画像データを取得する/画像を表示
- 28. qrcファイルからすべての画像を取得するにはどうすればよいですか?
- 29. phpのURLからすべての画像を取得しますか?
- 30. MATLABでフォルダ内のすべての画像を取得するには?
+1私はそれを逃した方法を知らない – Taurayi
私は仕事から家に帰るときこのメソッドを試してみます。ありがとう! – Afra