检测是否通过iframe访问网站?嵌入小工具与购物车

alb*_*lbo 6 ajax iframe e-commerce

我有一个购物车,我想嵌入其他用户网站上的widget/iframe,我看到三种方法,每个都有缺点.以下是估算最多到最少工作的选项.

  1. 在javascript小部件中重新创建交互式购物车UI,然后使用AJAX将值传递到服务器脚本,将变量传递到主站点,当用户单击"checkout"时,用户随后被重定向到主购物车站点,其中的变量从输入的内容中填充.小部件.

    • 专业人士:完整体验
    • 缺点:大多数工作要完成创建UI和AJAX请求.

  2. 以某种方式检测用户是否通过iframe访问购物车,如果是这种情况,则当用户点击"checkout"将用户重定向到安全页面并通过AJAX从购物车获取变量以填充最终结账时,会打开新窗口的备用代码.

    • 优点:中等工作量,必须做AJAX请求才能从购物车中获取变量以填充最终结账
    • 缺点:我们可以轻松检测是否正在从另一个网站上的iframe内的用户访问网站?

  3. 在iframe/widget中完成整个结帐流程.

    • 专业人士:最少的工作,只需在iframe中嵌入购物车
    • 缺点:不会在浏览器中显示https用户可能不愿意购买

什么是最好的选择?

anx*_*ety 4

如果您能提供更多信息,也许我可以为您提供更好的选择。首先,您用什么(语言/框架)构建了这个应用程序?另外,您是否认为您的应用程序的功能与 Shopify 的功能类似,都允许用户通过您的服务托管电子商务网站?如果没有,请告诉我们更多有关您的申请的信息。

这是对您提供的选项的快速回复。

选项1:我认为唯一真正的选择。无论您是将购物车嵌入到特定的 iframe 中还是将其作为模板的一部分呈现到用户页面上,您都应该将客户引导您的主站点以完成结账流程。或者至少给他们足够的屏幕空间来使用(例如,一个相当大的模式)。

选项2:很混乱。您可以通过附加 url 参数来判断请求是否来自远程表单(如 iframe)。但是采用您建议的方法并没有多大意义。

选项 3:太重了,除非你采用像我在响应选项 1 中提到的模态方法。

话虽这么说,如果您正在构建像 Shopify 这样的应用程序,您应该能够为每个用户的网站构建一个模板,其中有一个部分专门用于显示与当前客户会话相关的购物车。这种方法不需要 iframe 或小部件。但同样,这一切都取决于您的应用程序的用例。