问题标签 [easyxdm]

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.

0 投票
2 回答
1184 浏览

javascript - 一页中有多个easyXDM

我试图在单个父页面上使用两个 easyXDM 套接字但没有成功。两个套接字都连接到同一个远程域,但端点不同。父页面有两个 divfalse_app_divdummy_app_div. 下面显示了代码片段 -

在父页面上,我有两个 JS 函数activate_false_app()activate_dummy_app().

如果在父页面中,我调用activate_dummy_app()or activate_false_app(),它可以工作 - 这两者都可以单独工作。但是,如果我同时调用两者,那么它们中只有一个可以工作,并且我在 JS 控制台上收到一个错误,即某些东西是未定义的(我找不到)。

另外,我知道问题与加载两个easyXDM有关,因为如果我放入init_dummy_app_communicationof on_load_fnactivate_false_app()除了init_false_app_communication已经存在的),那么两者都可以。

但是,我不能确定 easyXDM 是否已经加载,所以两者activate_false_appactivate_dummy_app必须加载 easyXDM,这样它们才能独立工作,也可以一起工作。我尝试使用noConflict函数,但那里的文档很差,最终没有具体的内容。

有人遇到过类似的问题或知道我在这里缺少什么吗?

0 投票
0 回答
186 浏览

easyxdm - 使用 easyXDM 进行身份验证

我成功地使用easyxdm(使用iframe-intermediate.html方法)从远程服务器中提取内容以在网站上的iframe中调整大小,我们现在想用用户名/密码锁定我们的远程内容,是否可能重新架构我们当前的实现以传递身份验证标头以允许我们继续提取内容?我们目前正在使用以下

0 投票
1 回答
226 浏览

javascript - EasyXDM 传递数据问题

我将 rpc 与 XDM 一起使用,我可以在子窗口和父窗口之间轻松地来回发送简单数据。

但它似乎仅限于简单的字符串和数字。网站上的演示只使用数字。当我尝试发送一个 json 编码的字符串时,我得到一个跨域错误。当我使用 cors 时,我可以使 ajax 请求正常,但我无法在 iframe 中显示子页面,因为数据是返回而不是呈现的。

我的问题是,如何渲染 iframe,并来回传递复杂的数据。或者我做错了什么?

0 投票
1 回答
791 浏览

javascript - 您需要“name.html”来调整 EasyXDM iFrame 的大小吗?

有谁知道在调整浏览器跨域大小时是否需要“name.html”easyxdm 文件,如果需要,您在哪里告诉 easyxdm 查找它?

我目前在 iFrame 中从另一个网站提取预订表格,但是我看不到任何引用 name.html 的示例,所以我担心我没有正确设置它。

该页面似乎确实有效,但我只是想确保我已经涵盖了所有内容。

我正在使用的演示在这里:测试页面从另一个域的开发站点提取数据。

这是我在消费网站上的easyxdm代码,是否应该在这个javascript中以某种方式指定?

0 投票
0 回答
301 浏览

javascript - 使用 easyXDM 进行跨域窗口到窗口通信

我正在尝试使用 easyXDM 与父域之外的另一个域上的弹出窗口进行通信。我看过这个例子: http ://consumer.easyxdm.net/current/example/bridge.html

然而,这个例子有一个中间页面,坦率地说是非常复杂的。我不知道如何推断此代码以应用于我的(可能更简单?)情况。

有没有人有可以帮助我的提示,技巧,文章?

谢谢!

0 投票
1 回答
1592 浏览

javascript - 使用easyxdm读取跨域Cookie数据

我有 2 个域 - domain1.com 和 domain2.com - 其中 domain1.com 是我的父站点, domain2.com 是子站点。我在 domain1.com 上设置 cookie,但 domain2.com 需要访问这些 cookie。

我已经对这个主题进行了大量研究——JSONP、CORS、选择任何东西。 EasyXDM似乎提供了一个很好的解决方案。domain2.com 和 domain1.com 之间的消息传递按预期工作,但某些浏览器,即 Chrome 和 IE,没有读取 cookie,因此传递空白数据。

Domain1.com 有一个名为 status.php 的页面,其中包含以下数据:

Domain2.com 具有以下设置来接收来自 domain1.com 的消息:

这就像 FireFox 中的冠军,但 Chrome 和 IE 返回一个空字符串,而不是获取 cookie 数据。任何人都可以用这个把我推向正确的方向吗?我不能在两个域上都设置 cookie,我只需要能够以任何必要的方式从第一个域中获取 ID。谢谢!

根据评论中的要求,这是域 2 的完整代码:

0 投票
1 回答
255 浏览

xss - 使用 easyXDM(或任何其他客户端框架)进行 HTTP 服务可用性测试(或一般的响应解析)可能吗?

我无法从文档中看到它应该如何工作。使用 Firebug 进行调试也无济于事。也许我必须坐几个小时才能更好地理解它。

基本问题是,我想检查各种地理服务 ( WFS, WMS)的可用性。由于XSS浏览器限制的问题XmlHttpRequest没有起作用。

我想这个Socket接口是正确的,因为我无法实现某些CORS场景,因为我对外部服务没有影响。

使用以下代码可以正常工作并返回一些请求的数据(下载的 XML 响应的 Firefox 弹出窗口):

但是,我没有找到一种方法(尝试使用onReadyonMessage回调)以某种方式获取一些我可以处理的 HTTPstatus对象,以确定我得到了哪种响应,例如200,404

也许这是解决这个问题的完全错误的方法?

0 投票
1 回答
26818 浏览

javascript - `Uncaught TypeError: Cannot read property 'postMessage' of undefined` 使用 EasyXDM 发送跨域消息时出错

我正在尝试在客户端的两个网站之间建立一个数据交换系统。我为此使用 EasyXDM。( http://easyxdm.net/ )。这是我的父网站代码:

以下是位于localhost:39452域的子网站代码:

问题是,当我点击Send message子网站并调用socket.postMessage()它时说Uncaught TypeError: Cannot read property 'postMessage' of undefined.。请告诉我如何解决这个问题?

更新: socket以某种方式变为空或未定义。

0 投票
0 回答
81 浏览

javascript - 与同一域上的两个提供商通信

我正在尝试在我们当前的项目中实现easyXDM,以便用户能够在一个工作流程中使用多个系统,并从一个界面访问。换句话说,当用户打开页面 X 时,应该将来自另一个域的应用程序加载到 iframe 中供用户使用(用户必须先进行身份验证)。

任务本身要求应根据某些条件打开应用程序的某个部分(假设对于来自部门 A 的用户,我们应该在所述应用程序中打开表单 Af)。

所以这是我试图在这里编码的逻辑:

  1. 用户打开页面 X(消费者)
  2. 带有应用程序登录页面(Provider1)的 iframe 被加载到 Consumer 上的 iframe
  3. 用户登录应用程序
  4. Consumer 上的 JS 接收来自 Provider1 的 headers
  5. Consumer 上的 JS 加载 Provider2 以及之前收到的标头,并告诉 Provider2 导航到某个表单
  6. Provider2 内部的 JS 接收来自 Consumer 的消息并导航到该应用程序内部的某个表单。

这是我现在得到的(几乎是easyXDM自述文件中的一个简单示例):

提供者

消费者

问题

如何从 Provider1 获取标头并使用它们来加载 Provider2?

0 投票
0 回答
42 浏览

jquery - 无法从 jQuery 的函数中触发库的函数

我有以下问题:

我使用 EasyXDM 在 2 个域之间进行 AJAX 调用。但是,当我从 jQuery 函数中使用 socket.postMessage() 时,它不会触发。

这是一个例子:

在这个例子中,STEP1 正确地向提供者发送了一条消息,但在 STEP2 中它甚至没有触发。

我尝试使用window.socket等。没有运气。而且我 100% 确定 done(function(answer){}) 正确触发。

提前致谢!