Flash / JavaScript 和 WRT 中的外部接口问题

发布于 2024-10-17 00:41:07 字数 548 浏览 2 评论 0原文

我正在做一个内部使用闪存的WRT应用程序。问题是我必须通过 javascript 将参数传递给 swf。所以我在 javascript 中创建了一个像

的 函数 函数返回函数() { 返回“测试”; }

在我的 SWF 中我有以下代码:

import flash.external.ExternalInterface;

var result:Object =ExternalInterface.call("returnFunction");
versionTxt.text = "返回:" + String(结果); 因此

,当我在本地计算机上运行(必须更改 Flash 播放器上的一些安全性)以及当我将其托管在服务器上时,这工作正常。但我必须在手机上运行它,所以我将它包装在WRT应用程序中,但是当我测试它时,它返回如下:

Returned: null

所以我在这里没有选择,这是一个安全问题吗?我想我已经在 WRT 中看到过类似的东西,所以我很确定这是可能的,只是不知道我在这里缺少什么:/

I'm doing a WRT app that uses flash inside. The thing is i have to pass parameters to the swf via javascript. So i created a function in javascript like


function returnFunction()
{
return "test";
}

and in my SWF i have the following code:

import flash.external.ExternalInterface;

var result:Object = ExternalInterface.call("returnFunction");
versionTxt.text = "Returned: " + String(result);

So, this works fine when i run on my local machine(had to change some security on the flash player) and when i host it on a server. But i have to run it on a mobile phone, so i wrapped it in a WRT app, but when i test it, it returns like:

Returned: null

So i'm out of options here, is it a security problem? I guess i already saw something like this running in WRT so i'm quite sure it's possible, just don't know what i'm missing here :/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

童话里做英雄 2024-10-24 00:41:07

也许您可以对其进行设置,以便 javascript 或 WRT 将值回调到您通过ExternalInterface 公开的函数中。

Flash:

import flash.external.*; 

//Add a function call that can be accessed from javascript
ExternalInterface.addCallback("operationComplete", operationComplete);

//invoke the javascript operation
function startExternalOperation(){
  ExternalInterface.call("operation");
}

//javascript invokes this function when it is done
function operationComplete(result:Object){
  //do something with results
}

JavaScript:

function operation() {
  var result;

  //do something and populate result

  document.getElementById("swfObject").operationComplete(result);
}

诺基亚参考

Maybe you could set it up so that the javascript or WRT calls back with a value into a function that you've exposed via the ExternalInterface.

Flash:

import flash.external.*; 

//Add a function call that can be accessed from javascript
ExternalInterface.addCallback("operationComplete", operationComplete);

//invoke the javascript operation
function startExternalOperation(){
  ExternalInterface.call("operation");
}

//javascript invokes this function when it is done
function operationComplete(result:Object){
  //do something with results
}

JavaScript:

function operation() {
  var result;

  //do something and populate result

  document.getElementById("swfObject").operationComplete(result);
}

Nokia Reference

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文