在构建社交书签按钮小部件以供在其他网站中使用时,存在一些挑战。我们最近刚开放了客户端方面。 (博客文章:http://www.mellowmorning.com/2010/08/03/creating-your-own-diggfacebook-liketweetmeme-button/)
基本上,目标是替换所选元素 爱它 用一个按钮显示有多少人喜欢它。
这有两种方法。 - 用html替换A(脚本方法) - 用iframe(iframe方法)替换A
这些方法之间存在相当复杂的差异。一个特别令人讨厌的是脚本方法无法与其弹出窗口进行通信。
任何人都可以建议在登录弹出窗口和按钮之间进行通信的解决方法。 (IE。当你通过弹出窗口喜欢某些东西?时,你如何更新按钮上的计数,而不是被相同的原始保护所阻止..)
您推荐哪种方法。 iframe或脚本以及为什么?
这些是我遇到的差异:Iframe与脚本
I帧:
脚本:
答案 0 :(得分:4)
当然还有第三个选项,它是iframe和脚本方法之间的混合。
您可以使用脚本挂钩到DOM页面(提供关于不同用途的自由掠夺),以及创建指向您的域的隐藏iframe。
该脚本既可以与当前文档进行通信,也可以使用跨域消息进行通信,然后使用iframe作为代理与弹出进行通信。
当然,XDM确实会带来一些困难,但是如果你使用像easyXDM这样的经过验证的解决方案,那么这应该不是什么大问题。
Here is an example显示了如何与弹出窗口进行交互。
答案 1 :(得分:2)
基本上是2个问题 - 哪种方法最好 - 脚本方法面临的弹出通信困难的解决方法
感谢弹出信息! 支持这些跨域弹出窗口的基础技术是什么?
如果我理解你的第三个选项: - 外国网站加载我们的js - js替换dom元素 - js打开隐藏的iframe到自己的域
然后我如何打开一个仍然允许与我们加载到国外网站的js进行通信的弹出窗口?为此,弹出窗口需要由iframe实例化吗?我们需要一种与iframe通信的方法。我想我不允许对iframe做任何事情,除了设置它的window.location.href。你能解释一下它是如何工作的吗?