Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带body onload的Javascript奇怪循环_Javascript - Fatal编程技术网

带body onload的Javascript奇怪循环

带body onload的Javascript奇怪循环,javascript,Javascript,我的服务器上有这个文件:(Index.html) 然后Script.js: function generateUUID() { var d = new Date().getTime(); var uuid = 'xxx-xxx-4xx-yxxx-xxxxyyyyxxxx'.replace(/[xy]/g, function(c) { var r = (d + Math.random()*16)%16 | 0; d = Math.floor(d/1

我的服务器上有这个文件:(Index.html)

然后Script.js:

function generateUUID() {
    var d = new Date().getTime();
    var uuid = 'xxx-xxx-4xx-yxxx-xxxxyyyyxxxx'.replace(/[xy]/g, function(c) {
        var r = (d + Math.random()*16)%16 | 0;
        d = Math.floor(d/16);
        return (c=='x' ? r : (r&0x3|0x8)).toString(16);
    });
    return uuid;
};
window.onload=doit;


function doit() {
    var uuidme;
    uuidme = generateUUID();
    window.location.href = "/test?uuid=" + uuidme; 
}

get Variable变得疯狂,它从未停止更改代码,甚至与我想要的代码不符。

在重定向之前,请检查url,看看您是否已经在正确的位置设置了uuid。您可以通过使用indexOf
window.location.href.indexOf('uuid=')=-1扫描变量
uuid
的url来完成此操作:

function generateUUID() {
    var d = new Date().getTime();
    var uuid = 'xxx-xxx-4xx-yxxx-xxxxyyyyxxxx'.replace(/[xy]/g, function(c) {
        var r = (d + Math.random()*16)%16 | 0;
        d = Math.floor(d/16);
        return (c=='x' ? r : (r&0x3|0x8)).toString(16);
    });
    return uuid;
};
window.onload=doit;


function doit() {
    // make sure we dont find uuid set in the url already
    if(window.location.href.indexOf('uuid=') == -1) {
        var uuidme;
        uuidme = generateUUID();
        window.location.href = "/test?uuid=" + uuidme; 
    }
}

那么,分配给
window.location.href
将加载该页面。如果这是代码所在的同一页,那么它将不断刷新。这不是你想要的吗?那么您想要什么?如果脚本在/test加载,那么它每次加载时都会运行,即使是在加载查询字符串时也是如此。@LeFex有什么办法可以解决这个问题吗?我不认为一开始就这样做有什么意义。如果您确实需要此功能,则必须检查查询字符串中是否有id,如果有id,则不运行代码,或者将其保存在cookie中,并将其用作条件。