【问题标题】:Flash player doesn't allow scriptFlash 播放器不允许脚本
【发布时间】:2023-03-31 08:59:02
【问题描述】:

我对 Flash 和 ActionScript 有点陌生,我认为我一直存在安全问题。

问题是这样的。我尝试使用 ActionScript 2.0 中的按钮代码(我必须使用 2.0)

on(rollOver)
{
    getURL("javascript:someFunction();","_self");
}

这段代码应该可以工作,它对其他人也有效 =)

在你说我把它放在错误的地方之前。我把它放在按钮上。此外,当我使用 CTRL + ENTER 在 Flash CS5 中尝试该电影时,它确实可以正常工作。但是当我嵌入我的 .swf 时,我会收到类似的消息

the aplication is trying to access page...see parameters for flash player

抱歉翻译不好。

我也试过这个代码:

on(rollOver)
    {
        getURL("http://www.something.com","_self");
    }

它成功了。

嵌入代码:

        <object width="100%" height="60">
                <PARAM NAME="quality" VALUE="high">
                <PARAM NAME="wmode" VALUE="opaque" >
                <PARAM name="AllowScriptAccess" VALUE="always" >
                <EMBED src="small.swf" width="100%" height="60" wmode="opaque" quality="high" AllowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
                </EMBED>
                <noembed></noembed>
        </OBJECT>

我应该补充一点,我对 swf 文件的托管位置或类似情况没有任何权力。这真的不是我的 swf 文件。我所能做的就是通过 JAVASCRIPT 操作它,为此,我需要让确切的代码工作。

【问题讨论】:

  • 您的服务器上需要一个 crossdomain.xml 文件,以允许 Flash 脚本访问 www.something.com。 Flash 具有默认的同源安全策略,并且在通过该 .xml 文件明确允许之前不会与“其他”服务器通信。
  • 哦,但它确实访问了 something.com/ 它没有访问 javascript:alert("hello world");

标签: javascript security actionscript-2


【解决方案1】:

如果您想从 ActionScript 代码调用 JavaScript 函数。您可以使用 ActionScript 中提供的 ExternalInterface API。请查看 Flash 帮助,您将找到正确的 ExternalInterface 代码示例。

【讨论】:

    【解决方案2】:

    我认为问题与http://board.flashkit.com/board/archive/index.php/t-652586.html类似

    据我所知,只有从本地文件夹加载 SWF 时才会出现问题。尝试将其放在网络服务器上,跨域问题应该会消失。

    【讨论】:

    • 这有效 =) 谢谢...我现在会尝试进一步调查,尝试了解原因
    猜你喜欢
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-06
    • 2021-02-09
    • 1970-01-01
    相关资源
    最近更新 更多