0

iframe以外は制御できません。

私のフォームはiframeにあり、親リンクからの変数を取得したいと思います。

親URLとしての可能性が別のドメインであるかどうかわからない。

ライブURLを指定することはできませんが、例:

www.theredomain.com?ref=variableは親URLです

別のドメインにあるiframeから「ref」の変数を取得する必要があります。以下を試してみましたが、何もしなかったようです。

<script language="javascript">
function getUrlVars() {
var vars = {};
var parts = window.parent.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    vars[key] = value;
});
return vars;
}
var first = getUrlVars()["ref"];
alert(first);
</script>
4

3 に答える 3

1

別のドメインにある場合、iframe から親にアクセスすることはできません。

于 2012-11-12T11:33:07.633 に答える
0

入力していただきありがとうございます-最終的に解決しました。以下の関数を使用して、リファラー URL から変数を分割しました

    <script>  
      function getUrlVars() {
    var vars = {};
    var parts = document.referrer.replace(/[?&]+([^=&]+)=([^&]*)/gi, function    (m,key,value)   {
    vars[key] = value;
      });
    return vars;
      }
     </script>

次に、次のようにフォームに入れます

    <script>
        $("#submit").click(function() {
       var first = getUrlVars()["ref"];
        $(".referer").val(first);
        }); 
    <script>
于 2012-11-12T12:39:11.163 に答える
0

同じドメインにない 2 つの iframe 間でデータを送信する方法の 1 つは、これらの両方にアクセスしてそれらを拡張する場合、postMessageを使用することです。

それはかなり簡単です。一方では、発信元の URL を認識するイベント リスナーとして js を少し実装し、他方では、.postMessage メソッドを使用してその親 iframe に送信します。該当する場合は、ブラウザのサポートも確認してください。

于 2012-11-12T11:38:05.373 に答える