我制作了一个处理在线信用卡支付的网站。作为支付过程的一部分,我的网站需要一个 iframe,它与外部安全服务一起验证信用卡数据。我需要将特定信息传递给此 iframe,它将在表单帖子中使用。我通过在此 iframe 上调用一个函数从我的站点执行此操作,如下所示:
var frame = window.frames["SecureFrame"];
frame.SetInnerFormValues(...);
这在我的开发环境中运行良好。但是,我的网站还需要在任何客户网站上作为 iframe 运行。所以最后,客户端站点会有一个指向我的支付接口的 iframe,其中有一个指向安全服务的 iframe。当然,这两个 iframe 都使用 SSL。
这似乎给客户端的多个嵌套框架造成了问题。(好吧,Chrome 可以正常工作,但 Firefox 不行)
当最终用户在客户端站点上时,执行我上面的 JS 代码时会发生错误。Firefox 抛出错误,提示“TypeError:frame.SetInnerFormValues 不是函数”。我尝试在 JS 控制台中执行一些代码以尝试在安全框架上访问此 SetInnerFormValues 函数,但我得到的只是“错误:权限被拒绝访问属性'...'”,而只是尝试访问任何内容我自己的网站第一。
拜托,忍者,我需要你的帮助!