【问题标题】:How do I get flash to reload the parent HTML page it is embedded in?如何让 Flash 重新加载它嵌入的父 HTML 页面?
【发布时间】:2010-09-10 22:23:50
【问题描述】:

我有一个运行 Flash 8 的 Flash 应用 (SWF),嵌入在 HTML 页面中。如何让 Flash 重新加载它嵌入的父 HTML 页面?我尝试使用 ExternalInterface 调用 JavaScript 函数来重新加载页面,但这似乎不起作用。

【问题讨论】:

    标签: javascript html flash actionscript


    【解决方案1】:

    检查动作脚本中的ExternalInterface。使用它,您可以在代码中调用任何 JavaScript 函数:

      if (ExternalInterface.available)
      {
        var result = ExternalInterface.call("reload");
      }
    

    在嵌入 HTML 代码中输入一个 JavaScript 函数:

      function reload()
      {
        document.location.reload(true);
        return true;
      }
    

    这样做的好处是您还可以检查函数调用是否成功并采取相应措施。 getUrl 以及对 JavaScript 的调用现在不应该再使用了。这是一个老套路。

    【讨论】:

      【解决方案2】:

      试试这样的:

      getURL("javascript:location.reload(true)");

      【讨论】:

        【解决方案3】:

        简单的一条线解决方案。

        ExternalInterface.call("document.location.reload", true);
        

        【讨论】:

          【解决方案4】:

          又快又脏:这在大多数情况下都有效(根本不修改 HTML 页面):

          import flash.external.ExternalInterface;
          
          ExternalInterface.call("history.go", 0);
          

          【讨论】:

            【解决方案5】:

            在 Flash 10 中,您可以:

            navigateToURL(new URLRequest("path_to_page"), "_self");
            

            【讨论】:

              猜你喜欢
              • 2012-08-01
              • 2017-12-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-03-10
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多