5

I have a flash app (SWF) running Flash 8 embedded in an HTML page. How do I get flash to reload the parent HTML page it is embedded in? I've tried using ExternalInterface to call a JavaScript function to reload the page but that doesn't seem to work. ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

4

5 回答 5

11

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

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

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

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

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

于 2008-10-17T08:04:10.407 回答
4

尝试这样的事情:

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

于 2008-09-18T20:41:21.830 回答
4

简单的一条线解决方案。

ExternalInterface.call("document.location.reload", true);
于 2013-04-12T08:48:15.917 回答
2

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

import flash.external.ExternalInterface;

ExternalInterface.call("history.go", 0);
于 2010-08-25T07:09:39.897 回答
1

在 Flash 10 中,您可以执行以下操作:

navigateToURL(new URLRequest("path_to_page"), "_self");
于 2010-04-07T19:37:59.200 回答