是它可能得到的x、y坐标Flex的应用程序内的一个HTML网页?我知道你可以使用ExternalInterface.ObjecID获得"id属性的目标在互联网资源管理器,或者该名称属性的嵌入标记在Netscape"但是我不能似乎得到过去的这一步。这似乎是应该能够得到一个手柄上的那个嵌入的对象。任何建议?

谢谢。

有帮助吗?

解决方案

我认为,最简单的办法是包括一些种类的JavaScript库上的HTML网页,说jQuery,并使用它的职能确定位置和大小DOM节点。我会做这或多或少是这样的:

var jsCode : String = "function( id ) { return $('#' + id).offset(); }";

var offset : Object = ExternalInterface.call(jsCode, ExternalObject.objectID);

trace(offset.left, offset.top);

请注意,这是ActionScript代码,但它运行JavaScript code通过 ExternalInterface.它使用能力和特别是它的 offset 方法,返回的左边和上偏移的一个DOM节点。

你可以不用jQuery如果你看着如何 offset 方法是执行和包括这些代码,在地方的呼吁!这样你就不需要载jQuery在HTML和Flex程序将是自足的。原因,我建议使用一个图书馆等,这是浏览器做这些事情不同。我不确定如果计算的偏移量是非常不同的浏览器,但它不会伤害到被隔离浏览器中的差异。

JavaScript在我的例子是一个匿名的功能,使ID embed/object tag可以通过在以它作为一个参数 ExternalInterface.call, 但你只能使用的字符串连接如果你想要的:

var jsCode : String = "$('#' +" + ExternalInterface.objectID + ").offset()";

var offset : Object = ExternalInterface.call(jsCode);

这工作太,我刚刚想到的第一个版本是较优雅。

其他提示

如果你试图只是为了衡量在那里它是在内的页面作为外部用户的唯一持久性有机污染物进入我心中是一个Firefox扩展的称为MeasureIt我已经用它偶尔会出于各种测量在网页。

你想要做到这一编程方式从内嵌入页面本身和如果以其语言?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top