在链接中使用JavaScript var

时间:2011-07-05 19:10:52

标签: javascript facebook url var

我发现JavaScript打破了页面的queryString并从中提取变量。我需要这样做,以便我可以创建一个新的链接,将网站放入我正在尝试的Facebook应用程序。基本上,我们将页面上传到我们的服务器,生成一个长值(k)。因此,URL始终是www.oursite.com/webhost/login.asp?k=12342342334等。

这是我到目前为止所做的:

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;
}

所以,我有一个名为“url”的var,它应该为我需要它提供正确的URL(基本上只是在facebook画布中设置页面)。我似乎迷失了如何为此创建链接。

它需要是一个人点击的按钮,它只是打开一个带有var url的新窗口。我在这里错过了什么?我试过了

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

但我无法引用该变量。

4 个答案:

答案 0 :(得分:1)

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

...语法无效。如果您想使用document.write将您的网址变量作为链接传递到网页,您应该执行以下操作:

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

答案 1 :(得分:0)

您可以使用jQuery执行此操作:

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

或没有它:

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

答案 2 :(得分:0)

您在页面中创建一个链接,并将javascript函数与该链接上的click事件挂钩。在click事件的JS处理程序中,您可以运行所需的任何Javascript代码,构建所需的链接,使用window.open打开一个带有该链接的新窗口。

使用jQuery:

HTML:

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

JS:

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

jsfiddle在这里看到它在行动或玩它:http://jsfiddle.net/jfriend00/AKuXG/

或者,如果您只需计算一次所需的链接并永久设置它,那么您可以在页面加载后使用这个简单的JS来实现:

document.getElementById("myLink").href = whatever javascript expression you want

答案 3 :(得分:-1)

为什么不使用PHP而不是Javascript?如果从PHP中的URL中提取变量,则只需创建链接:

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

如果您想在javascript中执行此操作:

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;
}

至少在这些方面有所作为。