Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在HTML视图中使用Flex库API_Html_Apache Flex - Fatal编程技术网

在HTML视图中使用Flex库API

在HTML视图中使用Flex库API,html,apache-flex,Html,Apache Flex,我有一组Flex专有库(SWCs中的ActionScript API),我想知道是否有可能使用这些API来构建一个完全用HTML编写的UI,而不是基于Flex的UI/视图。如果是,方法是什么(或一些例子) 这样做的一个原因是重新使用现有的Flex(域层)API(短期),而不是用JavaScript重新编写它们。我知道没有支持ActionScript的HTML呈现器(也称浏览器)。为了在HTML/JavaScript Web应用程序中使用它,您需要ActionScript代码的JavaScript

我有一组Flex专有库(SWCs中的ActionScript API),我想知道是否有可能使用这些API来构建一个完全用HTML编写的UI,而不是基于Flex的UI/视图。如果是,方法是什么(或一些例子)

这样做的一个原因是重新使用现有的Flex(域层)API(短期),而不是用JavaScript重新编写它们。

我知道没有支持ActionScript的HTML呈现器(也称浏览器)。为了在HTML/JavaScript Web应用程序中使用它,您需要ActionScript代码的JavaScript/HTML端口。对于很多事情,我认为这是非常困难的

提供了一个JavaScript框架,在组件方面非常接近Flex。它甚至使用了一个基于XML的布局框架,比如称为AML的MXML


它使用
{}
标记进行绑定的方式与Flex几乎相同,请参见:。我想这是你能得到的最接近的了

据我所知,在HTML/JS中使用As库的唯一方法是构建SWF,它通过ExternalInterface将这些库的API公开给JS

您可以使用比原始外部接口更方便的库。创建JS对象并将其属性映射到库API方法中。类似于以下内容(作为代码):

此后,您可以通过调用
yourAPIName.apiFunc1()
yourAPIName.apiFunc2()
等来访问JS代码中的库函数


它是否可以接受取决于您的库的性质。对于UI库,我确信如果不在JS中重写代码,就不可能使用它们。

等等,什么?你刚才说的一切都没有意义。您想在html中使用Flex组件吗?你说的是哪种API?你只是在说开发人员的行话而不知道这些首字母缩略词是什么意思吗?我很清楚这些首字母缩略词。简而言之,是的,我说的是在HTML中使用Flex组件(已经存在内部API)。可能是一个不可能的问题(礼貌的“毫无意义”),我只是想确定这确实是不可能的!(或者是否有工作可做?)
var inited:Boolean = false;

try
{
    JSInterface.initialize( this );
    inited = true;
} catch( e:Error )
{
    trace( "ERROR cannot initialize JSInterface: " + e.message );
}

if( inited )
{
    var apiObject:JSDynamic = new JSDynamic( "Object" );
    apiObject.apiFunc1 = library.func1;
    apiObject.apiFunc2 = library.func2;
    // etc

    JSInterface.window.yourAPIName = apiObject;
}