2011-07-05 11 views
0

JavaScriptを使ってページのqueryStringを分割し、その変数を引き出しました。私はこれをやって、私が試しているFacebookのアプリにウェブサイトを入れる新しいリンクを作ることができた。基本的に、長い値(k)を生成するサーバーにページをアップロードします。 「リンクでJavaScript varを使用する

function querySt(ji) { 
    hu = window.location.search.substring(1); 
    gy = hu.split("&"); 
    for (i=0;i<gy.length;i++) { 
     ft = gy[i].split("="); 
     if (ft[0] == ji) { 
      return ft[1]; 
     } 
    } 
    var SurveyKey = querySt("k"); 
    var url = "http://apps.facebook.com/appname/k=" + SurveyKey; 
    window.location = url; 
} 

をので、私はと呼ばれるVARがありますので、URLは、私がこれまで持っているものは常にここなどwww.oursite.com/webhost/login.asp?k=12342342334

されています私はそれが必要なもののための正しいURLを与える必要があります(基本的には単にFacebookのキャンバスにページを設定します) "URL"。私はこれのためのリンクを作成する方法で失われているようだ。

これは、誰かがクリックして、var urlで新しいウィンドウを開くだけのボタンである必要があります。私はここで何が欠けていますか?試しました

document.write="<a href="url... 

この変数は参照できません。

+0

あなたはエラーが発生していますか? – jworrin

答えて

-1

Javascriptの代わりにPHPを使用してみませんか?あなたはJavaScriptでそれをしたい場合は

<a href="www.oursite.com/webhost/login.asp?k=<?=$your_key?>">test</a> 

:少なくともこれらの線に沿って

var url; 
function querySt(ji) { 
    hu = window.location.search.substring(1); 
    gy = hu.split("&"); 
    for (i=0;i<gy.length;i++) { 
     ft = gy[i].split("="); 
     if (ft[0] == ji) { 
      return ft[1]; 
     } 
    } 
    var SurveyKey = querySt("k"); 
    url = "http://apps.facebook.com/appname/k=" + SurveyKey; 

    insertInPage(); 
} 

function insertInPage() { 
    var content = "<a href=\"" + url + "\">link</a>" 
    document.write(content); 
    // or: document.getElementById("your_id").innerHtml = content; 
} 

何かをあなたがPHPでURLから変数を抽出する場合、あなただけのリンクを作ることができます。

1
document.write="<a href="url... 

...は有効な構文ではありません。あなたがリンクとしてWebページへのアウトあなたのurl変数を渡すためにdocument.writeを使用したい場合は、このような何かを行う必要があります。

document.write("<a href=\"" + url + "\">YOUR LINK TEXT</a>"); 
0

あなたはjQueryを使ってこれを行うことができます:

$('#someDiv').append('<a href="' + url + '">click here</a>'); 

はなしをそれ:

document.getElementById('someDiv').innerHTML = '<a href="' + url + '">click here</a>'; 
0

リンクをページに作成し、そのリンクのクリックイベントにjavascript関数を追加します。 clickイベントのJSハンドラでは、必要なJavascriptコードを実行し、必要なリンクを作成し、window.openを使用してそのリンクで新しいウィンドウを開くことができます。

HTML::

<a id="myLink" href="#">Click here</a> 

JS:アクションでそれを参照するか、またはそれを再生するには、ここで

$('#myLink').click(function() { 
    alert('Handler for .click() called.'); 
}); 

jsfiddle:http://jsfiddle.net/jfriend00/AKuXG/

または、あなたの場合にはjQueryを使用して

望みのリンクを一度だけ計算して永遠に設定することができますページがロードされた:

document.getElementById("myLink").href = whatever javascript expression you want 
関連する問題