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