iframe 中的回调方法将值返回给 opener

2024-03-28

我必须在 iframe 中调用回调方法才能将值返回给 opener。

I know 挤压盒 http://digitarald.de/project/squeezebox/有“分配、打开、关闭”静态方法,但我不明白它是如何工作的,有人可以帮助我吗?


我对 SqueezeBox 不太了解,但我在 iframe 通信方面做了一些工作。除非您的 iFrame 和 opener 位于同一域中,否则您无法从一个到另一个进行调用。

为了解决这个问题,我所做的就是写入 URL 的哈希值。然后,开启者可以读取该值并弄清楚该怎么做。

例如,

<iframe name="my-frame" id="my_frame" src="http://www.somewhere.com" width="540" height="1000" border="0" style="overflow:hidden; border: none;">
   <script type="text/javascript">window.location.hash = 'close';</script>
</iframe>

<script type="text/javascript">

  // Function to look for a token in the url hash 
  var tokenValue = function(){
    var hash = document.location.hash;
    return (hash && hash.length > 1) ? hash.substring(1, hash.length) : null;
  };

  // Function to set the token and notify the user when it is found in the url hash.
  var checkForToken = function(){
    if (tokenValue()) {
      alert(tokenValue());
      $clear(periodical);
    }
  };

  // Start a periodical that will check for
  var periodical = checkForToken.periodical(100);
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iframe 中的回调方法将值返回给 opener 的相关文章

随机推荐

  • 我可以使用 SocketCAN 读取 CRC 和 ACK 位吗?

    我正在寻找一种方法 通过 PiCan2 将消息从一个 Raspberry Pi 发送到另一个 并接收回来以读取 CRC 和 ACK 位 我搜索了文档但找不到这样的选项 我可能错过了什么吗 你不直接处理CRC and ACK 但当此类事件发生
  • Java 中的 HTTP 标头编码/解码

    自定义 HTTP 标头被传递到 Servlet 应用程序以进行身份 验证 标头值必须能够包含重音符号和其他非 ASCII 字符 因此必须采用某种编码 最好是 UTF 8 控制身份验证环境的开发人员向我提供了这段 Java 代码 String
  • 如何循环 QAbstractItemView 索引?

    我想开火QAbstractItemView doubleClicked以编程方式为具有特定文本的项目插入槽 我想用QAbstractItemView如果可能的话 类而不是它的实现 此任务归结为循环项目和比较字符串 但我找不到任何方法可以给我
  • 获取远程用户Mac地址

    我正在开发一个使用 mongodb express 和 nodejs 构建基于内联网的 web 应用程序的项目 该项目的目标是通过身份验证获取用户 mac 地址并运行远程 ssh 然而 我发现很难获取远程电脑的 MAC 地址 客户端和服务器
  • R Markdown 在一个项目中找不到 .bib 文件,而在另一个项目中工作正常

    Rmd 在文件 x 中引用良好 单击 knit 将引用添加到我的引用列表后 但是在文件 y 中 还有一个 rmd 文件设置如下 title Swans bibliography library bib output html documen
  • 从批处理文件运行 vbscript

    我只需要编写一个简单的批处理文件来运行 vbscript vbscript 和批处理文件位于同一文件夹中 并且位于 SysWOW64 目录中 因为 vbscript 只能在该目录中执行 目前我的批处理文件如下 echo off WINDIR
  • 如何通过 XMPP (Jabber) 消息在网络上发送图像?

    For the 用于 Stack Overflow 聊天的 XMPP 界面 https meta stackexchange com questions 57316 offer an xmpp method for chat 63420 6
  • Python 使用 urllib2 发起请求时 Tor 检查失败

    读完后other https stackoverflow com questions 1096379 tor with python 问题 https stackoverflow com questions 711351 using url
  • 如何在 Windows 7 上的 Python 2.7.1 中安装 easy_install

    我已在 Windows 7 上安装了 Python 2 7 1 但无法安装 easy install 请帮我 我通常只是跑步ez setup py http peak telecommunity com dist ez setup py I
  • 如何在Eclipse中引用不在src中的文件

    我正在尝试获取 MyBatis 的资源 该教程指出我的连接工厂中需要以下内容 String resource org mybatis example Configuration xml Reader reader Resources get
  • 如何更好地优化 iOS 上的网络?

    我在 GitHub 上创建了一个项目 以便我可以学习如何优化 iOS 应用程序的网络 我大量使用了块和 GCD 在观看 WWDC 2012 视频和过去几年的视频后 我了解到我可以使用 NSOperationQueue 做更多事情 具体来说
  • 在IIS上使用swagger发布web api

    在遵循此示例后 我正在尝试弄清楚如何使用 Swagger SwashBuckle 发布 net core 3 API 所以它可以在本地运行 当我按 F5 IIS Express 时 会在下面启动该网站http localhost 8033
  • 如何构建具有开放问题的 Dialogflow CX 代理?

    我正在尝试为 StackOverflow 之类的东西构建一个 Dialogflow 代理 它负责处理用户提出完整的问题 我想存储答案 并将其反馈给用户 例如 User I get an error CX Which error Java l
  • 扩展用户管理器

    在我的 NET Core 2 0 MVC 项目中 我添加了附加值来扩展 ApplicationUser public class ApplicationUser IdentityUser public string Name get set
  • java- libgdx build.gradle 与 AdMob 不同

    我正在为 android 构建一个应用程序并使用 libGdx 我检查了一百万个关于如何添加 Admob 的教程 每个教程都要求调整 build gradle 文件 但我的文件与他们的文件不一样 他们有依赖项和不同的东西 知道如何在我的 b
  • NSURLConnection 委托方法未执行

    我正在运行 Apple 的以下示例代码 NSString requestURL NSString alloc initWithString http google com NSURLRequest theRequest NSURLReque
  • numpy 中的数组按行排序

    我想按第一行对 numpy 中的数组进行排序 例如 import numpy as np test np array 1334 71601720318 930 9757468052002 1018 7038817663818 0 0 1 0
  • SDL - 绘制“负”圆圈(战争迷雾)

    我有这个 800x600square 我想绘制到屏幕上 我想在其中 切割 圆圈 其中 alpha 为 0 基本上我是在地图上绘制整个矩形 因此在我绘制的这些 圆圈 中 您可以看到地图 否则您会看到灰色方块 所以 我假设你想在你的一款游戏中添
  • 使用 jQuery datepicker 和 Angular 2 更改事件

    当我使用 jQuery datepicker 插件时 我在捕获更改事件时遇到一些问题 并且我尝试使用 change 方法来捕获更改 但似乎当我使用此插件时 角度无法捕获它 Component selector foo element tem
  • iframe 中的回调方法将值返回给 opener

    我必须在 iframe 中调用回调方法才能将值返回给 opener I know 挤压盒 http digitarald de project squeezebox 有 分配 打开 关闭 静态方法 但我不明白它是如何工作的 有人可以帮助我吗