Javascript Iframe问题与覆盖

Javascript Iframe问题与覆盖,javascript,iframe,overlay,Javascript,Iframe,Overlay,我正在使用iframe嵌入来自另一个站点的内容。iframe中的按钮打开一个带有表单的覆盖。问题是,单击按钮时,覆盖层未完全打开。问题不是来自覆盖,而是来自iframe和父对象 我正在测试的网站是www.sycotickets.com/form.php。您可以检查它并单击底部的按钮查看问题。我还学到了javascript可以用来嵌入。在这两个问题上,谁能告诉我正确的方向 你真的无能为力。如果它是从外部站点加载的,浏览器会阻止您作为开发人员访问其他站点并修改它们以尝试防止XSS攻击。你可以尝试通过

我正在使用iframe嵌入来自另一个站点的内容。iframe中的按钮打开一个带有表单的覆盖。问题是,单击按钮时,覆盖层未完全打开。问题不是来自覆盖,而是来自iframe和父对象


我正在测试的网站是www.sycotickets.com/form.php。您可以检查它并单击底部的按钮查看问题。我还学到了javascript可以用来嵌入。在这两个问题上,谁能告诉我正确的方向

你真的无能为力。如果它是从外部站点加载的,浏览器会阻止您作为开发人员访问其他站点并修改它们以尝试防止XSS攻击。你可以尝试通过动态地移动iframe并在你的末端点击覆盖黑色来伪造它。。。但这似乎很难理解……

当使用AJAX从不同的服务器加载页面内容时,有两种可能的答案

1) 这两台服务器都位于一个类似的域(
s1.example.com
s2.example.com
),在这种情况下,您可以将域设置为
example.com
,这样就可以通过AJAX调用实现完整的功能

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

{data: '<pre>Some Html</pre>'}
{data:'Some Html'}
实际返回为:

<script type="text/javascript" src="http:/www.example.com/GetMyData.php?WrapperFunction=SomeFuncNameSpecifiedInTheRequest">
函数SomeFuncNameSpecifiedInTheRequest({data:'somehtml'});
您可以动态地向页面添加脚本标记,而不是执行AJAX调用,例如:


然后在页面上实现请求中指定的
someFuncNames
,并在调用时处理结果。JQuery自动为您实现此功能(至少是客户端)


有关JSONP和设置域的更多信息,请参阅,这两个站点是我的!网站交付和网站我使用的测试。覆盖是从另一个网站加载的,但当我将其嵌入另一个页面时,它无法正常工作。我可能缺少一些内容。。。但是源代码显示iframe不在同一个域上?你有自己的主域名:“sycotickets.com”,在源代码中,iframe说:“poplytics.com”。那不正确吗?是的,它是正确的。我控制着这两个网站。我正在sycotickets.com上测试poplytics.com,因为另一张海报上说,您需要使域保持相同,或者在其中一个域上使用JSON并执行JSONP调用,但这超出了您的问题范围:\n我没有使用ajax加载内容。它嵌入了一个iframe。@sammville我理解,但由于另一个答案中提到的原因,iframe我只是一个框架,你不能突破它。您唯一能做的就是使用Javascript和AJAX将内容直接加载到主页中。这是一个更好的用户体验,你有更多的控制,这也是更好的实践。Iframe被认为是邪恶的:)你在哪个浏览器中测试?在Firefox中,“你想看到什么功能”半隐藏在我的屏幕底部……我正在使用google chrome
<script type="text/javascript" src="http:/www.example.com/GetMyData.php?WrapperFunction=SomeFuncNameSpecifiedInTheRequest">