如何让 Flash 重新加载它嵌入的父 HTML 页面?

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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");

【讨论】:

以上是关于如何让 Flash 重新加载它嵌入的父 HTML 页面?的主要内容,如果未能解决你的问题,请参考以下文章

在 IE 的 html 页面中重新加载嵌入的 swf

请问我用HTML嵌入两个HTML文件,如何让他们在同一行。就是平行显示

如何把EXE嵌入到网页中运行?

请问我用HTML嵌入两个HTML文件,如何让他们在同一行。就是平行显示

如何将 Flash 对象正确插入模态 HTML 对话框

重新加载数据时的 UICollectionView 奇怪的动画(幽灵单元、flash)