我正在尝试重现 facebook 的推荐按钮,尤其是出现在主机页面上的那种工具提示。
可能这超出了我的能力范围,但我想了解 FB 是如何做到的。
他们使用 Recommend 按钮实现了 iframe。当你点击时,你会得到一种工具提示(简单的 div),它会越过主机页面。
我正在尝试做同样的事情,但当然,我不能在 iframe 之外显示内容!
这是我的代码(hostingdomain.org)的一些示例:
<script type="text/javascript">
(function() {
id_marchand = 'daL/RqzZcfqc.';
var tyd = document.createElement('script');
tyd.type = 'text/javascript';
tyd.async = true;
tyd.src = 'http://mydomain.fr/tyd//module/pro_mod.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(tyd, s);})
();</script>
此脚本的目标是读取主机页面上的一些内容,然后通过 postMessage 将其发送到该 iframe :
<iframe src="http://multipress.fr/tyd//module/pro_mod.php"
height="50px" width="150px"
name="tyd_frame" id="tyd_frame" style="border:1px solid black;"
onload="start_tyd();"></iframe>
iframe 我收到消息内容然后对其应用功能。我使用了 iframe,因为我需要从 mydomain.fr 读取 cookie 来执行我的东西。
现在我想显示一个工具提示(或extradiv)以向用户确认它已完成。但我不能让任何东西出现在 iframe 中……出于安全原因,我敢肯定,但 Facebook 会这样做!
所以我正在研究的解决方案是再次使用 iframe 中的 postMessage 将内容发送回 pro_mod.js,这可以在主机页面上工作,但我不知道如何做到这一点。
谢谢你的帮助 !