将网站服务嵌入其他网站的最佳方法

问题描述:

我正在寻找可以帮助我解决独特问题的信息,方法或代码。我的第一个想法是使用iframe,但这似乎正在创建跨站点共享的可能问题。将网站服务嵌入其他网站的最佳方法

我有一个网站(https://siteB.com),我谨以“嵌入”到其他网站。它是用ASP.net编写的,使用会话变量,登录安全性,发布消息到社交媒体(FB,Twitter)等。任何到社交媒体或通过电子邮件的链接,发回到siteB.com。

客户网站将是(http:s)://siteA.com)。他们是非营利性网站,并使用支付网关进行信用卡交易。由于交易的性质(出于税收目的),信用卡费用必须在siteA.com上进行管理 - siteB.com无法收集资金(对于此案例)并且它不能成为“直通”类型的交易。

流量为所有用户是去siteA.com,从嵌入式siteB.com使用的服务,并与信用卡交易siteA.com。 siteB.com是工作完成的地方,但付款应该交给siteA.com。总的来说,目标是为siteA.com上的用户创建无缝体验,并且他们的卡交易是siteA.com。

的是iframe的问题:上的iFrame siteB.com

  1. 从FB /叽叽喳喳/电子邮件超链接,查询字符串到一个特定的页面无法正常工作(或者不能去上班)
  2. 共享跨域会话数据是一个问题

任何建议,欢迎并非常赞赏。

+0

这是我的朋友,是我们用来称呼海军的一种汤三明治。你根本没有解释清楚,你解释的内容听起来像是开发者或开发团队试图向客户提供他们想要的而不是说的那种情况之一:“不,你要求的不是你需要什么,出于原因x,y和z,这是一个更好的解决方案,我们很乐意以可维护,可持续和SANE的方式实施你的需求。“ – GrayFox374 2012-07-29 03:08:17

+0

不是说如果您的网站使用HTTPS并且您使用HTTP嵌入网站B,大多数浏览器会将您的网站显示为部分安全,因为网站B未使用HTTPS。 – 2012-07-29 03:55:49

您可以使用对象:

<object type="text/html" data="http://siteB.com" style="width:100%; height:100%"> 
<p>backup content in case it doesn't work</p> 
</object> 

,并调整高度和宽度相应。

或者,你可以使用jQuery所看到here

<script>$("#testLoad").load("http://siteB.com/");  
<div id="testLoad"></div> 
+0

大卫 - 谢谢你的建议。我会尝试他们并报告结果。这就是我正在寻找的 - 另一种选择。 – brian1 2012-07-29 04:58:49

+0

最终使用对象作为解决方案。效果很好。谢谢 – brian1 2014-02-08 06:06:18

+0

要快得多

试着用卷曲嵌入外部网站,并改变链接到一个绝对的。就像这样:

<?php 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.your_external_website.com"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$result = curl_exec($ch); 
curl_close($ch); 
$result = preg_replace("#(<\s*a\s+[^>]*href\s*=\s*[\"'])(?!http)([^\"'>]+)([\"'>]+)#",'$1http://www.your_external_website.com/$2$3', $result); 
echo $result 
?> 
+0

也会试试这个,并报告回来。谢谢。 – brian1 2012-07-29 05:01:34