Apache flex 如何读取Flex4.6中StageWebView的页面源代码
如何在Flex4.6中读取StageWebView中的页面源代码 我不能使用HttpRequest来读取源代码,因为我指向另一个唯一url(针对每个人)的url链接包含会话并且需要登录,所以我认为我有一种方法可以使用StageWebView获取页面源代码,但我在StageWebView类中找不到任何方法或变量Apache flex 如何读取Flex4.6中StageWebView的页面源代码,apache-flex,mobile,stagewebview,Apache Flex,Mobile,Stagewebview,如何在Flex4.6中读取StageWebView中的页面源代码 我不能使用HttpRequest来读取源代码,因为我指向另一个唯一url(针对每个人)的url链接包含会话并且需要登录,所以我认为我有一种方法可以使用StageWebView获取页面源代码,但我在StageWebView类中找不到任何方法或变量 import mx.events.FlexEvent; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
private var webView:StageWebView;
private var httpReq:HTTPService;
private var urlVar:URLVariables;
private var session:String;
protected function creationCompleteHandler(event:FlexEvent):void
{
httpReq = new HTTPService();
httpReq.addEventListener(ResultEvent.RESULT, httpResult);
httpReq.addEventListener(FaultEvent.FAULT, httpFault);
httpReq.method = "POST";
httpReq.resultFormat = "text";
urlVar = new URLVariables();
urlVar.UserName = "test";
urlVar.Password = "test";
}
protected function httpResult(e:ResultEvent):void
{
trace(e.result);
trace("Done!");
}
protected function httpFault(e:FaultEvent):void
{
trace("Error!");
}
protected function addedToStageHandler(event:Event):void
{
webView = new StageWebView();
webView.stage = this.stage;
webView.viewPort = new Rectangle(0,0,stage.stageWidth,stage.stageHeight/2);
webView.loadURL("{URL}");
}
谢谢。Flex和StageWebView之间的通信非常原始;您实际上只会收到浏览器
位置
正在更改的通知
研究一下如何使用。它有一个可以调用的getSource()
函数(并且简化了StageWebView的管理)。@Brian thank
我编写了一个复杂的代码从StageWebView获取html源代码
这是我的代码:
private var webView:StageWebView;
private var htmlSource:String;
protected function addedToStageHandler(event:Event):void
{
webView = new StageWebView();
webView.addEventListener(Event.COMPLETE,onWebViewComplete);
webView.stage = this.stage;
webView.viewPort = new Rectangle(0,0,stage.stageWidth,stage.stageHeight/2);
webView.loadURL("URL HERE");
}
protected function onWebViewComplete(event:Event):void
{
getHtmlSource();
}
private function getHtmlSource():void
{
var tempTitle:String = webView.title;
webView.loadURL("javascript:document.title = document.getElementsByTagName('html')[0].innerHTML;");
htmlSource = webView.title;
webView.loadURL("javascript:document.title ='" + tempTitle + "';");
trace("Title is "+webView.title)
trace(htmlSource);
}
享受!:)