StageWebView.loadURL() 上是否有任何解决方案,如何处理具有 target="_blank" 的 HTML 页面中的 URL?
这是一个移动的Android应用程序。(标签视图应用程序)
希望有人可以提供帮助。
谢谢
StageWebView.loadURL() 上是否有任何解决方案,如何处理具有 target="_blank" 的 HTML 页面中的 URL?
这是一个移动的Android应用程序。(标签视图应用程序)
希望有人可以提供帮助。
谢谢
一种选择是 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/
由于它被宣布为官方错误,adobe QA 所有者 Sanjay C. 添加了一条评论:“能够通过附加项目重现该问题。发送给 IRB。”
所以,希望下一个 Build 能解决这个问题。
此致
好的,所以我能找到的这个问题的唯一解决方案是将页面(包含链接)作为字符串加载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 的事件可能会有所帮助。