4

固有の問題を解決するのに役立つ情報、方法、またはコードを探しています。私の最初のアイデアはiframeを使用することでしたが、それはクロスサイト共有で問題が発生する可能性があるようです。

他のWebサイトに「埋め込み」たいWebサイト(https://siteB.com)があります。ASP.netで記述され、セッション変数、ログインセキュリティを使用し、ソーシャルメディア(FB、Twitter)などにメッセージを投稿します。ソーシャルメディアまたは電子メールを介したリンクは、siteB.comに投稿します。

クライアントのWebサイトは(http(s)://siteA.com)になります。これらは非営利サイトであり、クレジットカード取引に支払いゲートウェイを使用しています。取引の性質上(税務上)、クレジットカードの請求はsiteA.comで管理する必要があります。siteB.comは資金を集めることができず(この場合)、「パススルー」タイプの取引にすることはできません。

すべてのユーザーのフローは、siteA.comにアクセスし、埋め込まれたsiteB.comからサービスを使用して、クレジットカードでsiteA.comにトランザクションを行うことです。siteB.comは作業が行われる場所ですが、支払いはsiteA.comに渡される必要があります。全体として、目標はsiteA.comでユーザーにシームレスなエクスペリエンスを提供することであり、ユーザーのカード取引はsiteA.comに対して行われます。

iframeの問題:

  1. fb / twitter / emailからのハイパーリンク、iframed siteB.comの特定のページへのクエリ文字列が機能しない(または機能しない)
  2. ドメイン間でセッションデータを共有することは問題です

任意の提案を歓迎し、非常に高く評価しています。

4

2 に答える 2

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を使用することもできます

<script>$("#testLoad").load("http://siteB.com/");    
<div id="testLoad"></div>
于 2012-07-29T03:03:17.020 に答える
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
?>
于 2012-07-29T04:13:58.707 に答える