Javascript 传递一个';是脚本URL的一部分吗?

Javascript 传递一个';是脚本URL的一部分吗?,javascript,json,variables,url,Javascript,Json,Variables,Url,我的照片网站上的抽象摄影页面使用如下链接: myphotosite.com/abstract.html { photo_set: "abstract", tags: "best" }, myphotosite.com/page.html?variable_1=abstract&variable_2=best { photo_set: "variable_1", tag: "variable_2"

我的照片网站上的抽象摄影页面使用如下链接:

myphotosite.com/abstract.html
    {
        photo_set: "abstract",
        tags: "best"
    },
myphotosite.com/page.html?variable_1=abstract&variable_2=best
    {
        photo_set: "variable_1",
        tag: "variable_2"
    },
该页面使用脚本调用FlickrAPI获取我的照片和信息。它包括以下几行:

myphotosite.com/abstract.html
    {
        photo_set: "abstract",
        tags: "best"
    },
myphotosite.com/page.html?variable_1=abstract&variable_2=best
    {
        photo_set: "variable_1",
        tag: "variable_2"
    },
我的网站目前有大量的页面和脚本(每个照片集一个脚本)。我想做的是在url中有一个页面加上变量和一个使用这些变量的脚本。按照上面的示例,链接如下所示:

myphotosite.com/abstract.html
    {
        photo_set: "abstract",
        tags: "best"
    },
myphotosite.com/page.html?variable_1=abstract&variable_2=best
    {
        photo_set: "variable_1",
        tag: "variable_2"
    },
脚本应该是这样的:

myphotosite.com/abstract.html
    {
        photo_set: "abstract",
        tags: "best"
    },
myphotosite.com/page.html?variable_1=abstract&variable_2=best
    {
        photo_set: "variable_1",
        tag: "variable_2"
    },
如何将url中的变量传递给该页面上使用的脚本?

您可以使用解析页面的url并从中提取查询参数。请参见以下演示:

//在实际代码中将其设置为window.location.href
让pageUrl=”https://myphotosite.com/abstract.html?variable_1=abstract&variable_2=best";
让url=新url(pageUrl);
//构造你的对象
设obj={
照片集:url.searchParams.get('variable_1'),
标记:url.searchParams.get('variable_2')
};

控制台日志(obj)布拉德在上面贴了一个链接,找到了答案。谢谢你,先生!这是给任何感兴趣的人的:

这是他链接到的页面:

在那里,我找到了以下代码,我在脚本顶部添加了这些代码,如下所示:

// get the variables

 var url_variable = (function(a) {
    if (a == "") return {};
    var b = {};
    for (var i = 0; i < a.length; ++i)
    {
        var p=a[i].split('=', 2);
        if (p.length == 1)
            b[p[0]] = "";
        else
            b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
    }
    return b;
})(window.location.search.substr(1).split('&'));
{
    photo_set: url_variable["album"],
    tag: url_variable["tag"]
},
因此,如果我想要我最好的抽象照片的相册,我的url应该是: myphotosite.com/page.html?相册=摘要&标签=最佳


它就像一个符咒

谢谢你,布拉德!你引导我找到了答案,我在下面完整地发布了答案。