如何在javascript

时间:2016-09-24 16:06:34

标签: javascript html

我需要将此变量从一个函数传递给另一个函数,但是存在一些问题。

var url;
var ua = navigator.userAgent.toLowerCase();
$("#ToBuyStep2").click(function(){

    if(ua.match(/MicroMessenger/i)=="micromessenger") {
        url=window.location.href;
        window.location.href = "http://www.juliyeah.com/wap/tmpl/order/weixin.html";
    }
})

function goBackUrl(){

    if(ua.match(/MicroMessenger/i)!="micromessenger") {

        window.location.href = "http://www.juliyeah.com";
    }
}

所以当点击ToBuyStep2并将此网址传递给goBackUrl()函数时,我需要记住此网址。这两个函数在不同的文件中调用,所以我不能将它们组合在一起。 有谁知道怎么做?

2 个答案:

答案 0 :(得分:1)

const functionGenerator = function() {
    let url = '';

    let result = {};

    result.ToBuyStep2 = function() {
        // you can access URL here
    };

    result.OnClick = function() {
        // you can access URL here
    };

    return result;
};

let temp = functionGenerator();

document.getElementById('whatever').onclick = temp.OnClick;
document.getElementById('stuff').someEvent = temp.ToBuyStep2;

答案 1 :(得分:0)

您可以使用sessionStorage设置"最后一个网址"然后,在你的boGackUrl函数中请求它:sessionStorage.setItem('prevUrl', window.location.href)。请注意,位置更改后,您的数据会丢失。但是,将数据传递到会话存储中将使其可用,直到用户关闭选项卡/浏览器。