Использование JavaScript-переменной в ссылке - PullRequest
0 голосов
/ 05 июля 2011

Я нашел 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", которая должна давать правильный URL для того, что мне нужно (в основном, просто устанавливает страницу на холсте facebook). Кажется, я заблудился, как заставить создать ссылку для этого.

Это должна быть кнопка, на которую кто-то нажимает, и она просто открывает новое окно с URL-адресом переменной. Что мне здесь не хватает? Я пытался

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

но я не могу ссылаться на эту переменную.

Ответы [ 4 ]

1 голос
/ 05 июля 2011
document.write="<a href="url...

… неверный синтаксис.Если вы хотите использовать document.write для передачи вашей переменной url на веб-страницу в виде ссылки, вы должны сделать что-то вроде этого:

document.write("<a href=\"" + url + "\">YOUR LINK TEXT</a>");
0 голосов
/ 05 июля 2011

Вы создаете ссылку на странице и подключаете функцию javascript к событию щелчка по этой ссылке. В обработчике JS для события click вы можете запустить любой код 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
0 голосов
/ 05 июля 2011

Вы можете сделать это с помощью jQuery:

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

Или без него:

document.getElementById('someDiv').innerHTML = '<a href="' + url + '">click here</a>';
0 голосов
/ 05 июля 2011

Почему бы не использовать для него PHP вместо Javascript?Если вы извлекаете переменную из URL в PHP, вы можете просто сделать ссылку:

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

Что-то в этом роде по крайней мере.

...