postmessage 相关问题

window.postMessage()方法安全地启用Window对象之间的跨源通信;例如,在页面和它产生的弹出窗口之间,或者在页面和嵌入其中的iframe之间。

iframe 上的 webix postMessage 永远不会到达嵌入的drawio

基本上,后端为我提供了drawio文件的内容(所以我们正在谈论xml模式),我需要在我们的webix页面中显示它。 到目前为止,我已经尝试使用 iframe 来实现这一点,

回答 1 投票 0

window.postMessage 抛出未定义的错误,即使我检查它不是未定义的

我有一个 React Web 应用程序在 React Native 应用程序的 Web 视图中运行。 React Native 端注入 javascript 来设置 window.postMessage,如下所示: 我有一个 React Web 应用程序在 React Native 应用程序的 Web 视图中运行。 React Native 端注入 javascript 来设置 window.postMessage,如下所示: <WebView injectedJavaScriptBeforeContentLoaded={` (function() { window.postMessage = function(data) { window.ReactNativeWebView.postMessage(data); }; })() window.isInApp=true; true;` } /> 然后,我在 React Web 应用程序中调用 window.postMessage() 以使 React Native 应用程序对某些按钮按下做出反应: <Button onClick={() => { if (window.isInApp) window.postMessage(); else navigate("/my-trips"); }} > Exit </Button>; (我知道 postMessage() 应该需要参数,但是)这在我的 React web 应用程序中的任何地方都有效,除了一个特定的页面。一开始,我得到了错误 脚本错误。 还有 抛出了跨源错误。 React 无法访问开发中的实际错误对象。 因此,为了查看错误,我将函数调用包装在 try-catch 块中,然后在 alert: 中显示错误 <Button onClick={() => { try { if (window.isInApp) window.postMessage(); else navigate("/my-trips"); } catch (e) { alert(e); } }} > Exit </Button>; 在 Android Samsung A54 上运行,我得到: TypeError:无法读取未定义的属性(读取postMessage) 在 iOS iPhone 8 上,我得到这个: TypeError:未定义不是一个对象(评估'window.ReactNativeWeb-View.postMessage') 然后,我添加了一些 if 条件以确保窗口不是未定义的,并且还在调用 window 之前和之后的一些 alert 中显示了 window.postMessage(): <Button onClick={() => { try { alert(`window: ${window} window.postMessage: ${window.postMessage}`) if (window && window.postMessage && window.isInApp) window.postMessage(); else navigate("/my-trips"); } catch (e) { alert(`${e} window: ${window} window.postMessage: ${window.postMessage}`); } }} > Exit </Button>; 但是,我收到完全相同的错误消息,该消息声称 window 未定义,即使我在调用 window.postMessage() 之前和之后检查它是否未定义。我也尝试使用 window.postMessage(true, "*") 只是为了让我没有任何争论,但无济于事。我也没有看到这个特定页面有任何不同之处,可以与使 window 拥有短暂的存在超级状态相关。它几乎是另一个页面的精确复制品,其中相同的功能起作用。 这怎么可能?为什么看起来 window 仅在我 call window.postMessage() 时未定义,但在 if 检查和 alert 对话中并非未定义?几乎就像一些双缝实验电子行为类型的狗屎?这是啥? (我知道我应该做一个最小的可重现示例,但这会花费很多时间,我现在不必抽出时间。希望在我诉诸该示例之前有人知道解释/修复。) 听起来问题可能不直接与window.postMessage有关,而是与React应用程序的上下文或其依赖项在该特定页面上的行为方式有关。仔细检查该有问题的页面上的任何独特脚本或 iframe 是否会干扰全局 window 对象。另外,请确保通过 window.postMessage 传递的所有数据均已正确序列化,因为对象可能会导致问题。也许尝试使用简单的字符串或 JSON.stringify 您的数据。最后,该页面上的跨域策略可能会更加严格;验证您的内容安全策略标头。

回答 1 投票 0

检索postMessage事件的完整原始URL

我正在设置一个通过 iFrame 嵌入不同内容的页面。父站点和 iFrame 内容都通过 Window.postMessage() API 进行通信。然后我在父网站上听...

回答 1 投票 0

小括号的虚拟键码

我需要PostMessage();一对括号“( )”,但我似乎无法在任何地方找到它们的虚拟键码。 我尝试过 ord(KeyInpunt) 但当我尝试

回答 2 投票 0

如何从父级向 iframe 发送数据

我有一个问题。早些时候,我很难从 iframe 向父节点发送 postMessage。幸运的是,我解决了它,因为不知何故 window.parent.postMessage 不起作用,但顶部。

回答 1 投票 0

iframe之间可以传递ArrayBuffer吗?

我需要在主页和嵌入式 iframe 之间传递大量数据。 为了避免[反]序列化开销,我希望通过 postMessage() 传递 ArrayBuffer 并实例化视图

回答 2 投票 0

使用 iframe 在不同域之间共享 localStorage 数据不起作用

我正在尝试阅读这篇文章,该文章教我们如何在嵌入了 iframe 的情况下在域之间共享本地存储数据。 https://www.internetkatta.com/share-cookies-or-local-storage-data-bet...

回答 2 投票 0

Javascript postMessage

像chrome这样的浏览器如何在窗口与其IFrame之间交换数据(窗口位于1个域名上,IFrame从另一个域名加载内容)? 我的问题是,浏览器如何...

回答 3 投票 0

如何使用window.postMessage从后端向前端发送数据?

我想通过window.postMessage将从后端得到的数据发送到前端(下面的图像代码) 但我收到了这个错误: 无法在“DOMWindow”上执行“postMessage”:目标源提供...

回答 1 投票 0

如何跨域使用window.postMessage?

window.postMessage 的目的似乎是允许不同域上托管的窗口/框架之间进行安全通信,但实际上在 Chrome 中似乎不允许这样做。 这是 SC...

回答 0 投票 0

使用postMessage API时如何确保弹出窗口已完全加载?

如你所知,使用html5的postMessage API,我们可以将消息发送到当前页面的iframe,或者发送到新的弹出窗口,但是如果我们这样编码: var popwindow = window.open('http://local...

回答 2 投票 0

如果在 window.open 之后立即触发,Window.postMessage 不起作用

我有一个简单的脚本,它使用 window.open 打开一个窗口,然后使用 postMessage API 向其发送消息。但是使用这个脚本我无法收到新打开的消息

回答 1 投票 0

TWA Android 应用程序的 PostMessage 实现

使用了此文档。作品。 https://developer.chrome.com/docs/android/post-message-twa 但!如果我们更改 assetlinks.json 中的“关系”:[“delegate_permission/common.handle_all_urls&

回答 1 投票 0

尝试在可嵌入的小部件中实现 stripe 的 applepay

我正在创建一个网站,用户可以通过 iframe 嵌入到他们的各种网站中。我正在尝试将 stripe applepay 集成到我自己的网站上,以便将其嵌入到他们的网站中的用户可以......

回答 1 投票 0

window.postMessage 在 Azure Web App 中失败且没有错误消息

我有一个 .NET 4.8 项目,主窗口内有一个 iframe。我们使用window.postMessage,以便框架可以在加载特定页面时最小化侧边栏。 这在托管时效果很好...

回答 1 投票 0

将消息发送到生成的窗口 - 等待身份验证

我的应用程序带有虚假网址(仅供我们理解 www.myapp.com),需要在虚假网址 www.myredirect.com 处生成一个弹出窗口。 一旦到达 www.myredirect.com,页面就会自动

回答 1 投票 0

使用window.parent.postMessage()发送非敏感数据时是否必须指定targetOrigin?

我正在使用 window.parent.postMessage(消息, '*') 向外部网站发送非私密/敏感的数据(消息是 iframe 应该的高度,即重要的是,它不是用户......

回答 1 投票 0

iframe之间使用postMessage通信

我正在尝试从使用 iframe 访问的屏幕上删除按钮,以便我的父软件不会通过按钮进行更改。为此,我使用 postMessage 通信来传递信息...

回答 1 投票 0

将数据从 React Native 发送到 WebView 渲染的 React 应用程序时遇到问题

我正在开发一个项目,需要将数据(特别是陀螺仪数据)从 React Native 应用程序发送到在 WebView 内呈现的 React 应用程序。然而,我在成功方面遇到了困难

回答 1 投票 0

如何使用“postMessage API”获取 iframe 响应标头[关闭]

我有一个加载 URL 的 iframe(该 URL 不在我的域中),并且该 url 在 iframe 内加载后会给出 302 重定向,我的问题是是否有可能获取该 302 重定向 Url 值...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.