【问题标题】:safari embedded paypal fails - Refused to display document because display forbidden by X-Frame-OptionsSafari 嵌入式贝宝失败 - 拒绝显示文档,因为 X-Frame-Options 禁止显示
【发布时间】:2013-03-12 23:23:08
【问题描述】:

我刚刚发现我的嵌入式支付实现在 Safari 中不起作用。 对于 Safari,我在控制台中收到此错误: 拒绝显示文档,因为 X-Frame-Options 禁止显示

我找不到解决此问题的方法。

请注意,该实现在 IE、FF 和 Chrome 中运行良好(嗯,FF 存在差异问题,但这部分似乎可行)。

以下是电话(为清楚起见进行了编辑):

var urlBase = "https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay";
var payKey = "AP-12345ABCDE6789012";
flow_Javascript = new PAYPAL.apps.DGFlow( { trigger:null, expType:"light" } );
flow_Javascript.startFlow( urlBase + "?payKey=" + payKey );

仅供参考,这是在控制台中返回的:

加载时遇到无效的“X-Frame-Options”标头 'https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/expresscheckoutincontextremembermeflow?execution=e1s1': “NONE”不是公认的指令。标题将被忽略。

【问题讨论】:

  • 您看到的错误消息位于请求标头级别(PayPal 使用 X-Frame 来避免嵌入 iframe,这可能导致各种点击劫持黑客攻击)。但是,这不会以任何形式或形式影响您的 javascript 功能。您是否在控制台中收到任何其他错误? (特定于 javascript?)
  • 您解决了吗?我现在也有同样的问题!
  • 有解决这个问题的办法吗?? - 这引起了我的问题!

标签: paypal payment


【解决方案1】:

我遇到了同样的问题,添加 try/catch 块有帮助:

try { 
  flow_Javascript.startFlow( urlBase + "?payKey=" + payKey );
} catch (err) {
  // add some error logging here
}

【讨论】:

    猜你喜欢
    • 2012-03-18
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    • 2012-09-24
    • 2012-04-09
    相关资源
    最近更新 更多