订阅iframe(facebook)中的javascript事件

订阅iframe(facebook)中的javascript事件,javascript,facebook,iframe,Javascript,Facebook,Iframe,我有一个应用程序,其中我使用了一个类似facebook的iframe 我想在主页中订阅当用户单击iframe中的like按钮时的事件 基本上只要用户喜欢这个页面,我就希望他被重定向到我指定的页面 我可以使用什么javascript命令 谢谢你可以把它挂到按钮上 onclick = "window.location('www.google.com')" 显然,用您的URL替换URL。但您可能需要检查这是否合法。您可以将其连接到按钮上 onclick = "window.location('www

我有一个应用程序,其中我使用了一个类似facebook的iframe

我想在主页中订阅当用户单击iframe中的like按钮时的事件

基本上只要用户喜欢这个页面,我就希望他被重定向到我指定的页面

我可以使用什么javascript命令


谢谢

你可以把它挂到按钮上

onclick = "window.location('www.google.com')"

显然,用您的URL替换URL。但您可能需要检查这是否合法。

您可以将其连接到按钮上

onclick = "window.location('www.google.com')"

显然,用您的URL替换URL。但您可能需要检查这是否合法。

除非您的父文档与类似Facebook的框架位于同一个域中,否则出于安全原因,您根本无法在其中编写脚本。这是同一原产地政策。它不仅可以防止您检测到点击,还可以防止您模拟用户,迫使他们在未经他们同意的情况下执行操作(例如喜欢您)


您可以尝试将元素放置在框架顶部以检测单击,但通过拦截单击,您也可以阻止它通过框架。您所能做的最好的方法是检测Like按钮区域上的悬停,并移除覆盖元素,允许用户单击。但这并不可靠,因为它会捕获所有鼠标指针。

除非您的父文档与类似Facebook的框架位于同一个域中,否则出于安全原因,您根本无法在其中编写脚本。这是同一原产地政策。它不仅可以防止您检测到点击,还可以防止您模拟用户,迫使他们在未经他们同意的情况下执行操作(例如喜欢您)



您可以尝试将元素放置在框架顶部以检测单击,但通过拦截单击,您也可以阻止它通过框架。您所能做的最好的方法是检测Like按钮区域上的悬停,并移除覆盖元素,允许用户单击。但这并不可靠,因为它会捕获所有鼠标指针。

我可以在不损坏按钮的情况下使用它吗?我不想替换类似的东西,我只想另外触发一个重定向尝试一下。如果它不起作用,尝试订阅like事件(请检查:)订阅like事件不起作用,这就是为什么我要问如果like按钮在iframe中,而不是在fbml中,是否有特殊的操作没有发生like没有被检测到。我想知道是否还有另一个问题,因为我无法为xfbml(如eBox Tooo)添加广告。我可以在不破坏按钮的情况下使用它吗?我不想替换类似的东西,我只想另外触发一个重定向尝试一下。如果它不起作用,尝试订阅like事件(请检查:)订阅like事件不起作用,这就是为什么我要问如果like按钮在iframe中,而不是在fbml中,是否有特殊的操作没有发生like没有被检测到。我想知道是否还有另一个问题,因为我无法将类似xfbml的文件盒作为广告,如果父文档是通过文件协议(例如移动设备中的index.html)访问的,该怎么办?它仍然是跨域的吗?能做到吗?谢谢,这仍然是跨域的,不,它不起作用。仅在IE中,有一个陷阱:您可以从My Computer专区中的
文件://
URL执行不安全的跨域
XMLHttpRequest
。您可以使用跨域XHR在自己的页面上重新创建按钮,并通过发布Facebook自己的脚本所做的任何交互来伪造与它的交互。(这就是它不安全的原因。)然而,要让它正常工作,需要大量的脚本,这是一种痛苦,默认情况下,脚本在我的计算机中被禁用(用户必须从信息栏中故意启用它)。没什么用。哼。。。我想我明白你的意思了。只是为了确保在移动情况下:如果我们有一个.html(在移动设备中)和一个iframe加载一个由我们控制的域,并且从这里(子)我们调用一个在父级(local.html)中定义的JS函数,我们将无法这样做,因为跨域策略?甚至没有任何机制来解决这个问题?谢谢你的解释!不,同源策略是网站的基本组成部分,如果没有普通网页无法获得的特权,您将无法避免。不,的确,您为位于不同主机名上的子帧获取的
窗口
对象是一个非常有限的版本,不允许您访问
文档
。如果父文档是通过文件协议(例如移动设备中的index.html)访问的,该怎么办?它仍然是跨域的吗?能做到吗?谢谢,这仍然是跨域的,不,它不起作用。仅在IE中,有一个陷阱:您可以从My Computer专区中的
文件://
URL执行不安全的跨域
XMLHttpRequest
。您可以使用跨域XHR在自己的页面上重新创建按钮,并通过发布Facebook自己的脚本所做的任何交互来伪造与它的交互。(这就是它不安全的原因。)然而,要让它正常工作,需要大量的脚本,这是一种痛苦,默认情况下,脚本在我的计算机中被禁用(用户必须从信息栏中故意启用它)。没什么用。哼。。。我想我明白你的意思了。只是为了确保在移动情况下:如果我们有一个.html(在移动设备中)和一个iframe加载一个由我们控制的域,并且从这里(子)我们调用一个在父级(local.html)中定义的JS函数,我们将无法这样做,因为跨域策略?甚至没有任何机制来解决这个问题?谢谢你的解释!不,同源策略是web的一个基本部分,如果没有普通web页面不可用的特权,您将无法避免。不,事实上,您为位于不同主机名上的子帧获得的
窗口
对象是一个极其有限的版本,您无法访问
文档