npm 包 ember-post-robot 使用教程

什么是 ember-post-robot?

ember-post-robot 是一个 npm 包,它是一个通用的跨域通信库。这是一个强大且易于使用的库,可以用于在不同的窗口、框架和浏览器中进行通信。使用 ember-post-robot 可以实现跨域数据交互、跨域调用远程服务、在不同站点之间的数据传输等等。在这篇文章中,我们将会详细介绍如何使用 ember-post-robot。

安装

安装 ember-post-robot 可以使用 npm 包管理工具,执行以下命令:

--- ------- ---------------- ------

使用方法

使用 ember-post-robot 可以分为两部分,一部分是在主体窗口中(即发送方),另一部分是在嵌入式窗口中(即接收方)。下面分别列出它们的使用方法。

在主体窗口中

在主体窗口中,我们要定义一个 iframe 对象,并使用 ember-post-robot 创建一个新的隧道,并将其连接到相应的 iframe 中。

------ --------- ---- -------------------

-- -- ------ --
--- ------ - --------------------------------------------------------

-- ----
--- ------ - ---------
    ---------------
    --------
        -- -- ------ ------
        ------------
        ----- -- -
            ------------------------
        -
    --

-- ----
------------------------ - ----- ------ ------- ---

在上面的示例中,我们首先获取了一个 iframe 对象,然后使用 PostRobot 创建了一个隧道,用于监听 iframe 中事件(eventName)的触发,并在事件触发时,打印接收到的数据。

最后,我们使用 tunnel.send 方法,向 iframe 中发送数据。

在嵌入式窗口中

在嵌入式窗口中,我们需要监听主体窗口发送的事件,并在相应事件发生时,处理事件数据。

------ --------- ---- -------------------

-- -----------
-------------
    ------------
    ----- -- -
        ------------------------
        -- -----------
        ------------------------------ - ----- ------ ------- ---
    -
--

在上面的示例中,我们用 PostRobot 的 on 方法监听了事件(eventName),并在事件触发时,首先打印接收到的数据,然后使用 event.source.send 方法,将应答数据发送给主体窗口。

这就是使用 ember-post-robot 的简单方法。下面我们再看一个更实用的例子。

实例

假设我们有一个带有嵌入式 iframe 的网页,我们需要向 iframe 发送一个请求,在 iframe 中执行某个操作,并返回结果。

在主体窗口中,我们可以使用如下代码:

------ --------- ---- -------------------

-- -- ------ --
--- ------ - --------------------------------------------------------

-- ----
--- ------ - -------------------------

-- ----
--------------------- ---------------------
    ------
        -- ------

        -----
--

在嵌入式窗口中,我们可以使用如下代码:

------ --------- ---- -------------------

-- -----------
-------------
    ---------
    ----- -- -
        --- --- - -----------
        -- ---------
        ----------
            -------------- -- ----------------
            ---------- -- -
                --------------------------- ------
            ---
    -
--

在上面的示例中,我们在主体窗口使用了 tunnel.send 方法,向 iframe 中发送了一个请求(getUrl 请求),并将 url 参数传递给 iframe。在嵌入式窗口中,我们用 PostRobot 的 on 方法监听了名为 getUrl 的事件,并在事件触发时,根据传递的 url 参数执行了操作,并使用 event.source.send 返回结果。

总结

在这篇文章中,我们学习了如何使用 ember-post-robot 实现跨域通信。我们了解了如何在主体窗口中定义 iframe 对象并使用 PostRobot 创建一个隧道,以及如何在嵌入式窗口中监听主体窗口发送的事件,并执行相应的操作。希望本文对初学者有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005625681e8991b448df945


猜你喜欢

  • npm 包 @tessdata/msa 使用教程

    前置知识 在学习和使用 @tessdata/msa 包前,你需要掌握以下知识: JavaScript 基础语法 Node.js 的安装和使用 npm 包管理器的使用 如果你还不熟悉以上知识,建议先...

    3 年前
  • npm包@tessdata/nep使用教程

    随着人工智能技术的发展,OCR技术在各个方面得到广泛应用。 在OCR的过程中,需要用到识别语言的训练数据文件。 @tessdata/nep是npm上的一个包,其中包含有关Nepali语的训练数据。

    3 年前
  • npm 包 @tessdata/nld 使用教程

    前言 在前端开发中,我们经常会涉及到自然语言处理相关的问题,如文本分类、情感分析、文本生成等。而 @tessdata/nld 这个 npm 包则为我们提供了一个快速、简单的解决方案。

    3 年前
  • npm 包 @tessdata/nor 使用教程

    介绍 @tessdata/nor 是一个提供 OCR 功能的 npm 包。OCR 全称为 Optical Character Recognition,即光学字符识别。

    3 年前
  • npm 包 libcore-package-resolver 使用教程

    简介 在前端开发中,我们经常会用到 npm 包管理器来管理我们的项目依赖。而其中一个很有用的 npm 包就是 libcore-package-resolver。 libcore-package-res...

    3 年前
  • npm包@fuzeman/eslint-import-resolver-babel-module使用教程

    在前端开发中,使用ESLint可以帮助我们发现代码中的潜在问题,保证代码质量。而@fuzeman/eslint-import-resolver-babel-module这个npm包则是用来解决使用we...

    3 年前
  • npm包 mrjs 使用教程

    前言 现如今,前端领域技术正在不断发展,各种工具和框架层出不穷。其中,npm 可以说是不可或缺的一部分,因为很多工具和框架都建立在 npm 包的基础上。而 mrjs 则是 npm 生态系统中的一个非常...

    3 年前
  • NPM 包 @tessdata/mya 使用教程

    简介 @tessdata/mya 是一个用于提供新款缅甸语字体 Tesseract OCR 训练脚本的 npm 包。Tesseract OCR 是一个开放源代码的 OCR 引擎,能够将图像转换为可编辑...

    3 年前
  • npm 包 @tessdata/osd 使用教程

    介绍 @tessdata/osd 是一个 npm 包,用于文字检测和识别。它基于开源 OCR 引擎 Tesseract,并提供了预训练的模型,可用于检测和识别多种文字语言。

    3 年前
  • npm 包 @tessdata/ori 使用教程

    简介 在前端开发中,我们经常需要使用 OCR(Optical Character Recognition)技术对图像中的文字进行识别。而 @tessdata/ori 就是一个 OCR 模型库,可以用于...

    3 年前
  • npm 包 @tessdata/pan 使用教程

    简介 @tessdata/pan 是一个基于 Tesseract OCR 引擎的中文图像文本识别库。该库针对中文语言进行了优化,支持多种文字格式的识别,包括仿宋、楷体等。

    3 年前
  • npm 包 @tessdata/pol 使用教程

    在前端开发中,我们经常需要识别图像中的文字。而 @tessdata/pol 正是一个可用于 OCR(Optical Character Recognition)的开源工具包。

    3 年前
  • npm包assemble-hekyll的使用教程

    简介 assemble-hekyll是一个npm包,它使用了Assemble插件和Handlebars模板引擎,可以方便地将Markdown文档转换为Jekyll网站的页面。

    3 年前
  • npm 包 redux-plugin 使用教程

    在前端应用中,状态管理是至关重要的一环。Redux 可以帮助前端开发者在应用中管理和更新组件共享的数据,有助于提高应用的可靠性和可维护性。而 redux-plugin,是一款方便实用的 Redux 插...

    3 年前
  • npm 包 @tessdata/por 使用教程

    什么是 @tessdata/por @tessdata/por 是一个 npm 包,用于识别多语言文本中的文字。它基于 Tesseract OCR 引擎,支持识别多种语言的文字,并将结果以文本形式返回...

    3 年前
  • npm 包 @tessdata/pus 使用教程

    前言 @tessdata/pus 是一个基于 Tesseract-OCR 的中英文识别模型,可以帮助项目实现文字的自动识别和分析。在前端开发中,这个包可以让我们轻松地集成字识别的功能,提高应用的可用性...

    3 年前
  • npm 包 @tessdata/ron 使用教程

    随着计算机视觉技术的不断发展,OCR 技术也越来越成熟。@tessdata/ron 是一个用于 OCR 技术的 npm 包,它可以将图片中的文字识别出来。 安装 在使用 @tessdata/ron 之...

    3 年前
  • npm 包 @tessdata/san 使用教程

    前言 在进行前端图像识别等相关项目时,常常需要使用到 OCR 技术,也就是 Optical Character Recognition(光学字符识别)技术。而 Tesseract-OCR 是一个开源的...

    3 年前
  • npm 包 fast-delete 使用教程

    在前端开发中,快速、高效地删除数组元素是一种常见需求。npm 包 fast-delete 就是一个优秀的解决方案,它可以让我们快速删除数组元素,从而提高代码的执行效率。

    3 年前
  • npm 包 finish-framework 使用教程

    前言 随着前端技术的发展,我们需要处理越来越多的数据和业务逻辑,而且能够高效地开发和维护代码,成为了前端工作的重要一环。在这个过程中,使用好工具,就是效率的保障。finish-framework 就是...

    3 年前

相关推荐

    暂无文章