导读 在使用 Egret 开发游戏或应用时,有时需要与外部网页进行交互,比如调用页面中的 JavaScript 方法。这种场景虽然不常见,但确实有其实...
在使用 Egret 开发游戏或应用时,有时需要与外部网页进行交互,比如调用页面中的 JavaScript 方法。这种场景虽然不常见,但确实有其实现的必要性。下面简单介绍如何通过 Egret 调用页面中的 JS 方法。
首先,在 Egret 中可以通过 `window` 对象直接访问浏览器环境。假设页面中已经定义了一个名为 `getPageData()` 的 JavaScript 函数,我们需要在 Egret 中调用它并获取数据。实现方法如下:
```typescript
class Main extends egret.DisplayObjectContainer {
constructor() {
super();
this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
}
private onAddToStage(event: egret.Event) {
// 调用页面中的 JavaScript 函数
let pageData = window['getPageData']();
console.log("从页面获取的数据:", pageData);
// 如果需要传递参数给页面函数
window['updatePage'](123, "Hello Egret");
}
}
```
💡 注意事项:确保页面加载完成后才执行 Egret 脚本,避免因未加载完成导致无法找到对应的 JavaScript 函数。此外,跨域问题可能会限制此功能,需提前确认域名是否一致。
通过上述方式,我们便能轻松实现 Egret 与页面 JS 的双向通信!🎉