Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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
Apache flex Flex ExternalInterface:ActionScript可以查询HTML文档吗?_Apache Flex_Actionscript_Externalinterface - Fatal编程技术网

Apache flex Flex ExternalInterface:ActionScript可以查询HTML文档吗?

Apache flex Flex ExternalInterface:ActionScript可以查询HTML文档吗?,apache-flex,actionscript,externalinterface,Apache Flex,Actionscript,Externalinterface,Flex应用程序是否有办法通过ExternalInterface获取有关HTML文档的任何信息?例如,Flex能否找出某个特定的DIV是否存在?回应我解释了ExternalInterface的实际工作原理。你可以从中得到一个简单的“是” [编辑]一些示例代码: var jsFunc:String = 'function () { return document.getElementById("test") != null; }'; var divExists:Boolean = External

Flex应用程序是否有办法通过ExternalInterface获取有关HTML文档的任何信息?例如,Flex能否找出某个特定的DIV是否存在?

回应我解释了
ExternalInterface
的实际工作原理。你可以从中得到一个简单的“是”

[编辑]一些示例代码:

var jsFunc:String = 'function () { return document.getElementById("test") != null; }';
var divExists:Boolean = ExternalInterface.call(jsFunc);

我应该澄清一些事情

ExternalInterface是一个包含页面的Javascript接口,因此可以通过ExternalInterface直接或通过hoast页面上的函数实现Javascript中的任何功能

Flex应用程序是否有办法通过ExternalInterface获取有关HTML文档的任何信息

退房。两个头版示例称为:

我现在使用这个库,它非常强大。有一次我问他()我是否应该用它来简单地调整swf的大小。他说“如果你只需要在javascript中做一些事情,就使用ExternalInterface。如果你需要在ActionScript中访问DOM,就使用这个”

本手册中有数百个示例。他在这件事上做得很棒。它将JavaScript对象转换为ActionScript并返回,因此您可以在类上使用full。这将需要大量的工作来重建,所以它是跨浏览器和一切。他做到了

JSInterface中的所有内容基本上都是一个动态类,因此您可以轻松深入DOM。以下是一些示例方法(在ActionScript中):

库在内部使用ExternalInterface来处理一切。但是要将DOM序列化到ActionScript或从ActionScript反序列化DOM,这需要大量的工作。这个图书馆应该能做到这一点

希望这有帮助,
Lance

我根本不知道我的ActionScript代码如何从前面的答案中找出某个特定的DIV是否已经存在。对不起,我太迟钝了。我确实看到了调用javascript函数的可能性,但没有看到ActionScript代码从javascript函数获取数据的可能性。看起来javascript可以告诉ActionScript一些事情,ActionScript可以告诉javascript一些事情,但可以说ActionScript不能问javascript一个问题。而且——更清楚地说——我的ActionScript如何确定(也就是说,不是简单地假设)HTML文档中存在特定的javascript函数?@Tim:answer updated。还应该回答你的第二个问题,因为1。实际上,您不需要依赖外部JavaScript,2。您可以使用JavaScript来确定它。
protected function testCSS():void
{
    var styleTag:JSHTMLElement = JSInterface.pushCSS('.text{font-weight:bold;color:#ff00ff;font-size:90;text-decoration:underline;}');
    var font:JSHTMLElement = JSInterface.document.createElement('font');
    font.innerHTML = 'Hello world!';
    font.setAttribute('class', 'text');
    font.className = 'text';
    JSInterface.document.body.appendChild(font);
    trace(styleTag); 
}                   

protected function insertIFrame():void
{   
    var body:JSDynamic = JSInterface.document.getElementsByTagName('body')[0];
    var frame:JSDynamic = JSInterface.document.createElement("iframe");
    frame.width = 300;
    frame.height = 300;
    if (JSInterface.navigator.appName.indexOf('Microsoft')>=0)
    {
        frame.onreadystatechange = function():void
        {
            trace(frame.readyState);
        };
    }
    else
    {
        frame.onload = function():void
        {
            trace('iFrame loaded');
        };
    }
    frame.src = 'http://actualwave.com';
    body.appendChild(frame);            
}