【问题标题】:AIR HTML Control Issue (it's not opening links that have attribute target = "_blank")AIR HTML 控制问题(它没有打开具有属性 target = "_blank" 的链接)
【发布时间】:2011-08-05 01:16:49
【问题描述】:

我开发了 Adob​​e AIR 应用程序,它可以在 HTML 控件中打开网站的 cpanel。我意识到 HTML 控制打开在同一窗口中打开的链接,但是它不会打开在新窗口中打开的链接,即具有如下属性 (target="_blank) 的链接:

<a href"" target="_blank"> Opens in new window </a>

我在网上搜索过,虽然我在这里找到了一个解决方案AIR HTML with “_blank” Links,但它会在浏览器中打开该链接,而且它太旧了(2008 年 9 月)。那么,有人知道另一种打开链接的简单方法吗?

【问题讨论】:

  • 要如何处理这些链接,在同一个窗口中打开它们?
  • 是的,如果可能的话,在同一个窗口中。

标签: actionscript-3 air flash-builder flashbuilder4 flash-cs5


【解决方案1】:

我重写了您发现更改锚点目标的示例,现在链接在同一窗口中打开。但是这种方法有局限性——只修复了静态链接,任何试图在新窗口中打开链接的 JS 方法都会失败。

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    initialize="init()">
<mx:Script>
<![CDATA[
    private function init():void
    {
        html.htmlText =
            "<html><body>" +
            "<a href='http://adobe.com' target='_blank'>Adobe (blank)</a><br/>" +
            "<a href='http://ixbt.com' target='_self'>iXBT (self)</a>" +
            "</body></html>";
        html.addEventListener(Event.COMPLETE, onHTMLComplete);
    }

    private function onHTMLComplete(event:Event):void
    {
        var document:Object = html.domWindow.document;
        for each (var anchor:Object in document.getElementsByTagName("a"))
        {
            if (anchor.hasOwnProperty("target"))
            {
                if (anchor.target == "_blank")
                {
                    anchor.target = "_self";
                }
            }
        }
    }

]]>
</mx:Script>
    <mx:HTML id="html" width="100%" height="100%"/>
</mx:WindowedApplication>

【讨论】:

  • 嗨 Alla 和 Alxx:我又遇到了另一个问题。如果 HTML 页面被划分为农场,那么点击框架的链接不会重新加载页面,因此不会触发 Complete 事件。所以任何带有 target="_blank" 的链接都无法打开:(。你也能帮我解决这个问题吗?
猜你喜欢
  • 2020-08-09
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 2012-07-06
  • 2015-08-16
  • 2012-09-09
  • 2016-02-12
  • 1970-01-01
相关资源
最近更新 更多