在链接中使用 JavaScript var

发布于 2024-11-18 20:26:47 字数 811 浏览 2 评论 0原文

我发现 JavaScript 可以分解页面的查询字符串并从中提取变量。我需要这样做,以便我可以创建一个新链接,将网站放入我正在尝试的 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 画布中设置页面)。我似乎不知道如何为此创建链接。

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

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

,但无法引用该变量。

I found the JavaScript to break up the queryString of a page and pull a variable from it. I needed to do this so that I could create a new link that would put the website into a facebook app I am trying. Basically, we upload pages to our server which generates a long value (k). So, the URL is always www.oursite.com/webhost/login.asp?k=12342342334 etc.

Here is what I have so far:

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

So, I have a var called "url" which should give the correct URL for what I need it to do (basically just sets the page in a facebook canvas). I seem to be lost on how to make create a link for this.

It needs to be a button that someone clicks and it just opens a new window with the var url. What am I missing here? I tried

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

but I can't reference that variable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

意中人 2024-11-25 20:26:47
document.write="<a href="url...

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

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

… isn't valid syntax. If you want to use document.write to pass your url variable out to a web page as a link, you should do something like this:

document.write("<a href=\"" + url + "\">YOUR LINK TEXT</a>");
太阳公公是暖光 2024-11-25 20:26:47

您可以使用 jQuery 来完成此操作:

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

或者不使用它:

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

You can do this with jQuery:

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

Or without it:

document.getElementById('someDiv').innerHTML = '<a href="' + url + '">click here</a>';
心病无药医 2024-11-25 20:26:47

您在页面中创建一个链接,并将 JavaScript 函数连接到该链接上的单击事件。在单击事件的 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

You create a link in the page and hook up a javascript function to the click event on that link. In the JS handler for the click event, you can run whatever Javascript code you want, construct the link you want, use window.open to open a new window with that link.

Using jQuery:

HTML:

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

JS:

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

jsfiddle here to see it in action or play with it: http://jsfiddle.net/jfriend00/AKuXG/

Or, if you can compute the desired link just once and set it forever, you can do that with this plain JS after the page has loaded:

document.getElementById("myLink").href = whatever javascript expression you want
寻梦旅人 2024-11-25 20:26:47

为什么不使用 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;
}

至少遵循这些原则。

Why not use PHP for it instead of Javascript? If you extract the variable from the URL in PHP you can just make the link:

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

If you want to do it in 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;
}

Something along those lines at least.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文