2011-01-31 86 views
1

我正在使用iframe嵌入来自其他网站的内容。 iframe中的按钮会打开一个带有表格的叠加层。问题是点击该按钮时,叠加层无法完全打开。问题不是来自叠加层,而是来自iframe和父层。Iframe问题和覆盖

我正在测试的网站是www.sycotickets.com/form.php。你可以检查它并点击底部的按钮来查看问题。我也学会了javascript可以用来嵌入。任何人都可以请我在这两个问题上正确的方向?

+0

是什么浏览器,你在测试领域?在Firefox中,“您希望看到什么功能”在我的屏幕底部隐藏了一半... – Basic 2011-01-31 22:25:22

+0

我正在使用谷歌浏览器 – sammville 2011-01-31 22:49:21

回答

0

使用AJAX时有2个可能的答案从不同的服务器

1)两个服务器都处于类似的结构域(s1.example.coms2.example.com),在这种情况下,你可以设置域名仅仅是example.com允许全部功能withing AJAX调用加载页面的内容。

2)服务器位于完全不同的域 - 提供内容的服务器(当前为IFrame)必须使用JSONP协议提供数据(注意P!),这意味着结果数据将被加载到脚本标记中然后执行。数据本身包含一个JS函数调用如:

{data: '<pre>Some Html</pre>'} 

实际上返回:

function SomeFuncNameSpecifiedInTheRequest({data: '<pre>Some Html</pre>'}); 

而不是做一个AJAX调用,您可以动态脚本标记添加到页面中,是这样的:

<script type="text/javascript" src="http:/www.example.com/GetMyData.php?WrapperFunction=SomeFuncNameSpecifiedInTheRequest"> 

然后,您在页面上实施SomeFuncNameSpecifiedInTheRequest,并在调用结果时处理结果。 JQuery的自动为您实现此功能(至少在客户端位)。

更多信息,请参阅here关于JSONP更多的信息和here上设置

0

没有什么可以做的。如果它是从外部站点加载的,浏览器会阻止您作为开发人员访问其他站点并修改它们以尝试和阻止XSS攻击。你可能尝试通过移动iframe动态地将它移动到你想要的位置并覆盖黑色点击你的末端......但是这看起来非常糟糕...

+0

这两个网站都是我的!该网站提供和我正在使用的网站进行测试。覆盖从另一个站点加载,但是当我将它嵌入到另一个页面时效果不佳。 – sammville 2011-01-31 21:23:58