1

我正在尝试使用 AIR 中的嵌入式 webkit 编写一个带有 HTML+Javascript 的小浏览器。

我在用户在 iframe 中键入的 URL 上显示页面。

从那里,我想:

  1. 访问框架的内容,例如在选项卡上显示页面。
  2. 当用户点击进入框架时被提醒,例如更新 url 栏。

对于 1),我知道出于安全考虑,浏览器禁止这样做。但是,我想这在 AIR 应用程序中应该是可能的,可能是通过询问用户许可(就像 Firefox 中的 Gecko 一样)。

有谁知道怎么做1)?有什么活动或事情要做 2) 吗?

谢谢你的帮助,

J。

4

3 回答 3

2

因为 Julien 听起来他会起诉我,所以我会回复 ;)

那么,您没有使用 Flex Builder 吗?如果是,它会显示您右侧的小红点。Flex Builder 有时会胡思乱想,它有助于关闭和重新打开解决方案。而在极端情况下,IDE 本身会重新加载项目。顺便说一句:您是否创建了桌面 (AIR) 应用程序?HTMLLoader适用于 AIR 。

如果您不使用 Flex Builder IDE,我建议您通过此链接。由 Adob​​e 推荐(此处)。

你的代码在我这边编译得非常好。但是,让我感到困惑的是您试图通过 ExternalInterface 实现的目标。

于 2009-02-23T17:46:42.043 回答
1

访问框架的内容

假设您有ifrmiframe 的 id:

var html:HTMLLoader = new HTMLLoader();
// ... 
// in the `complete` event handler
trace(html.window.document.getElementById("ifrm").innerHTML); // content

当用户点击进入框架时被提醒

如果您可以使用 javascript 事件处理程序来捕获对 iframe 子元素的修改,则可以调用您的 AS 函数/事件处理程序。

你会想读这个:)

于 2009-02-21T18:32:11.450 回答
0

短剑,

没有你我能做什么;)你在为 Adob​​e 工作吗?

我没有(还)FB,只使用普通的基本编译器mxmlc。我不知道 HTMLLoader 只为 AIR 工作!;) 使用mxmlc顺利编译它...

所以我继续...

顺便说一句,外部接口能够从我的“主要”javascript 加载我的框架中的页面(我在 JS 中比在 AS3 中更流利,因此希望最小化 AS3)。

现在,我将添加另一种方式:能够从 AS3 中的函数调用我的主 JS 中的函数,处理 HTMLLoader 上的“COMPLETE”事件,并将我想用 jQuery 读取的 HTML 字符串传递给 JS .

于 2009-02-23T17:59:59.810 回答