问题标签 [externalinterface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Javascript 通过 ExternalInterface 闪烁
我想知道是否有人可以查看我的代码。我正在尝试使用以下代码将虚拟变量从 javascript 传递到 actionscript 3:
HTML:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="music_player" width="500" height="375"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="movie" value="music_player.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="always" />
<embed src="music_player.swf" quality="high" bgcolor="#869ca7"
width="500" height="375" name="music_player" align="middle"
play="true" loop="false" quality="high" allowScriptAccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>
Javascript:
var nextTrackLocation = "dummyString";
getFlashMovie("music_player").jsAlert(nextTrackLocation);
和动作脚本:
ExternalInterface.addCallback("getNextTrack", jsAlert);
有人看到错误吗?
flash - 带外部接口的图像
我需要使用外部接口(as3)将图片发送到闪存...不能是网址,因为没有连接...我正在尝试打开图像文件并像文本一样发送到闪存但没有成功
任何想法?
ajax - 在纯 Actionscript 3 项目中,是否有任何理由在 ExternalInterface 类上使用 Adobe 的 Ajax Bridge?
我正在 Adobe Flex 中编写一个纯 actionscript 3 应用程序。我希望我的应用程序可以在浏览器中使用脚本。似乎有两种选择:Adobe 的 Ajax Bridge(通常与使用 mxml 的 Flex 应用程序一起使用?)和 Adobe 的外部接口类 (flash.external.ExternalInterface)。是否有任何理由在 ExternalInterface 类上使用 Ajax Bridge?
谢谢你。
javascript - 跨域外部接口“NPObject 上的错误调用方法”
我正在尝试通过跨域的 ExternalInterface 启用 Javascript 和 Flash 之间的通信。当 Javascript 位于与 SWF 相同的域中时,它的效果很好。但在一种情况下,HTML 位于域 A 上,javascript 和 flash 都位于域 B 上。我已完成以下所有操作:
- 嵌入标签有
allowScriptAccess="always"
(并且对象有它作为参数) - 我的 SWF 文件的 actioncipt 有
Security.allowDomain("*")
- 我的 SWF 也调用
Security.allowInsecureDomain("*")
- 域 A 和域 B 都有一个
/crossdomain.xml
文件allow-access-from domain="*"
SWF 能够在页面上调用 javascript,但是当我使用 Javascript 调用 ExternalInterface 公开的函数时,我得到
在 NPObject 上调用方法时出错![插件异常:Actionscript 中的错误。使用 try/catch 块来查找错误。]
这是 ActionScript 2,因此ExternalInterface.marshallExceptions
不可用。
javascript - 没有 SWFObject.js 的 Javascript 到 Flash 通信
想知道是否可以在不使用 SWFobject 或任何其他额外的 javascript 文件的情况下从 javascript 到 flash 进行通信。
目前我正在使用以下指南: http: //www.viget.com/inspire/bi-directional-actionscript-javascript-communication
感谢您的时间。
javascript - 如何列出由 flash 元素公开的可用回调
有没有办法查询嵌入式 Flash 元素以确定可以通过 JavaScript 在其上执行的可用方法?
编辑:似乎在 IE 中它很简单
多次点击后,他们将成为最后列举的一些成员。
尽管如此,仍然无法在 Firefox 中确定这一点。
javascript - 将数组从 Flash (AS3) 发送到 JavaScript
是否可以使用 ExternalInterface 调用将数组从 Flash (AS3) 发送到 JavaScript?
我目前正在从 Flash 内的“for each”循环中多次调用一个函数,但它的速度太快,JavaScript 无法跟上。
我的想法是创建一个属性数组,将其传递给 JavaScript 函数,然后在 JavaScript 中循环遍历它。
谢谢,乔什
javascript - 在 Flash/ActionScript3 中向外部接口添加回调时引用问题
我有一个方法:myMethod() {}
我想让 javascript 可以访问。我做了一些研究,发现您需要向 ExernalInterface 添加回调,所以这就是我所做的:
现在,当我加载带有 flash 的网页时,出现错误:
ReferenceError:错误 #1065:未定义变量 myMethod。在 Main$cinit() 在 global$init()
myMethod 包含在 Main 类中......这是 Main.as 的外观:
我不知道如何ExernalInterface.addCallback
实现它的myMethod
存在......有人有什么想法吗?
谢谢,
马特
xml - 卡在交互式地图上
因此,我在 HTML/Flash 混合交互式地图的最后期限前开始着手处理,但它还远未完成。我不断接近解决每个问题,只是发现更多的错误。当您查看作品时,它们中的大多数都非常明显。我想至少消除大错误,所以我非常感谢任何建议。请帮忙!
基本上,我以两种方式使用工具提示:[0]
通常基于 Flash 的 onMouseMove(工作正常),以及[1]
非常规地从 HTML 列表中定位 Flash 电影中的一个点。工具提示很好,但由于地图通过 TweenLite 移动和缩放而出现在错误的位置。onMouseOver/onMouseOut 事件也存在错误,其中 onMouseOver 再次触发 onMouseOut,当它的 _alpha 为 0 时,工具提示仍然可见。
作品链接:http: //muralapts.com/test/neighborhood.php
----大问题 #1: HTML onMouseOver 再次触发 onMouseOut,有效地“重新打开”我的工具提示。当 Tooltip 不会消失时,看起来真的很糟糕。没有错误,因此我无法弄清楚为什么 onMouseOver 会触发两次。似乎是 HTML 问题,而不是 Flash 问题。
----大问题 #2:由于父剪辑使用 TweenLite 缩放和移动,从页面左侧的 HTML 列表触发的工具提示显示在错误的位置。工具提示附加到 _root,但“定位”几个容器剪辑中的一个点(路径未在下面指定)。我试图获得这样的工具提示位置:
互动地图详情:
XML 内容动态生成 HTML 和 Flash 地图数据(id、名称、链接、简介、类别编号[艺术、购物等] 、列表编号 [类别中的编号])。使用 Magic Parser 从 Flash 使用的同一 XML 文件呈现 HTML 输出。
HTML/Javascript 通过外部接口与自定义 AS2 地图组件对话
地图最初放大到 140% 并使用 TweenLite 移动到某个点
Flash 影片中点的 onRollOver 显示带有地名的工具提示,更改点颜色
放大/缩小按钮设置父剪辑 _xscale + _yscale 并使用 TweenLite onUpdate 录制
HTML 中列表的 onMouseOver 显示带有地图数据的工具提示,但位置错误,因为地图已使用 TWEENLITE 进行缩放和移动。使用 TweenLite onUpdate 记录父剪辑的比例 + 放置值。
从 HTML 更改点的颜色在鼠标上起作用,在鼠标输出上是“粘性的”(点保持黑色)
XML CODE:(显示一个类别+列表,还有很多)
HTML 代码:
闪存代码:
c# - 来自 ActionScript 3 ExternalInterface 的 OS 函数调用
在 AS3 中使用 ExternalInterface 是否可以在 XP 中调用 OS(C#?)函数?
示例:将桌面背景设置为 Flash 应用程序提供的图像?
如果可能的话,当应用于不同的操作系统时会是不同的调用。那么跨过Mac呢?
任何信息都会很棒
谢谢