gpt4 book ai didi

javascript - ExternalInterface.call 不工作

转载 作者:行者123 更新时间:2023-12-02 07:37:03 24 4
gpt4 key购买 nike

我正在尝试从我的 SWF 内部ExternalInterface.call()

请注意,调用来 self 嵌入到另一个 SWF 中的 SWF(我无法控制的 _root SWF)。

这是我的 JavaScript:

function player_DoFSCommand(command, args) 
{
args = String(args);
command = String(command);

var arrArgs = args.split(g_strDelim);

switch (command)
{
case "CC_ClosePlayer":

console.log("yo");
break;

default:
// alert(command);
break;
}
}

这是我的 AS2 代码:

import flash.external.ExternalInterface;

var quiz = _root;

quiz.g_mcFrame.mcFinish.swapDepths(quiz.getNextHighestDepth());
quiz.g_mcFrame.mcFinish._visible = false;
quiz.oSlide.m_oInteraction.m_oVariableMgr.m_arrBoolResumeData = false;

var arrVars:Object = quiz.oSlide.m_oActionHandler.m_oFrame.m_oVariableMgr.m_arrVariables;
var args:Array = [
arrVars[2].m_nNumber, // Points awarded
arrVars[3].m_nNumber, // Max points
arrVars[5].m_nNumber, // Pass percentage
arrVars[6].m_nNumber, // Pass points
arrVars[7].m_nNumber, // Score percent
arrVars[10].m_strString // Result
];

ExternalInterface.call('player_DoFSCommand("CC_ClosePlayer", args)');
ExternalInterface.call('console.log("hello")');

问题是 ExternalInterface.call('player_DoFSCommand("CC_ClosePlayer", args)') 不起作用,或者至少“哟”没有按预期出现在控制台中。

在调用 ExternalInterface 时肯定会加载脚本。第二个调用有效,“hello”出现在控制台中,但第一个函数没有触发。

我可以通过直接在控制台中输入 player_DoFSCommand("CC_ClosePlayer", args) 来验证函数是否正常工作,并且它会成功登录。

最佳答案

您能否验证嵌入代码中的 allowScriptAccess 是否设置为 true?

试试这个:

 var isAvailable:Boolean = ExternalInterface.available;
trace(isAvailable);

您还想像这样使用 ExternalInterface,将您的参数作为第二个变量传递:

 ExternalInterface.call("player_DoFSCommand",args);

 ExternalInterface.call("console.log","testing...");

关于javascript - ExternalInterface.call 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15229373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com