StageWebView.loadURL()上有任何解決方案,我如何處理HTML頁面中具有target =「_ blank」的URL?StageWebView缺少target =「_ blank」的網址
這是一款手機安卓應用。 (TabbedViewApplication)
希望有人能幫助。
THX
StageWebView.loadURL()上有任何解決方案,我如何處理HTML頁面中具有target =「_ blank」的URL?StageWebView缺少target =「_ blank」的網址
這是一款手機安卓應用。 (TabbedViewApplication)
希望有人能幫助。
THX
行,所以對於這個問題,我可以發現的唯一的解決辦法是用URLLoader
加載頁面(包含鏈接)作爲字符串並替換其規定的部件。最後通過StageWebView.loadString()
方法加載它。
當網站動態且包含JavaScript時會發生問題。我還用絕對路徑替換了一些相關鏈接。
就是這樣......但我真的希望adobe能夠使用StageWebView.loadURL()
方法加載這些「_blank」鏈接。
我從來不跟的StageWebView工作,但我知道這是真的有限。使用HTMLLoader時,您可以設置一個自定義HTMLHost實例,該實例指定在打開_blank時使用當前的HTMLLoader。不過,我認爲StageWebView並不可行。
public class MyHTMLHost extends HTMLHost
{
public function MyHTMLHost(defaultBehaviors:Boolean=false)
{
super(defaultBehaviors);
}
override public function createWindow(windowCreateOptions:HTMLWindowCreateOptions):HTMLLoader
{
// all JS calls and HREFs to open a new window should use the existing window
return htmlLoader;
}
}
如果要捕獲用戶單擊StageWebView內部的鏈接時添加位置更改事件(LocationChangeEvent)的事件偵聽器。
這個LocationChangeEvent將包含它們將要到達的URL和目標。然後,您可以阻止加載URL,讓它繼續(不做任何事)或以任何其他方式處理它,包括加載另一個URL。
如果要加載另一個URL,請先停止使用stageWebView.stop()加載。你也應該調用event.preventDefault()。然後您可以嘗試
注意:還有一個名爲locationChange的事件可能會有所幫助。
由於它被宣佈爲官方bug,adobe QA所有者Sanjay C.添加了一條評論:「能夠重現與所附項目相關的問題,併發送給IRB。」
所以,希望下一個版本能夠提供修復的機會。
致以問候
一個選項是StageWebViewBridge。
StageWebViewBridge是flash.media.StageWebView的擴展版本。
-Extends Bitmap class, you can modify his x,y,alpha,rotation,visible, etc (Version 1 Beta) -Communicates Actionscript with Javascript. -Communicates Javascript with Actionscript. -Load local files and resources in a easy way. -Extends loadString method with AS3 - JS communication. -Extends loadString method to load local resources. -Lets you take an SnapShot to use as the bitmapData of the bitmap.
StageWebViewBridge來源:https://code.google.com/p/stagewebviewbridge/
另一種選擇是使用PHP代理並將target =「_blank」更改爲「_parent」。將相對路徑更改爲動態內容中的絕對路徑 – Nicolai
投票這個問題Adobe公司BUG系統: https://bugs.adobe.com/jira/browse/SDK-32091 – neknova
OK,所以...它正式成爲一個bug。 – neknova