我正在寻找可以帮助我解决一个独特问题的信息,方法或代码。我的第一个想法是使用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的问题:
欢迎任何建议,非常感谢。
答案 0 :(得分:7)
您可以使用对象:
<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>
答案 1 :(得分:1)
尝试使用curl嵌入外部网站并将链接更改为绝对链接。像这样:
<?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
?>