window.location.replace 进入无限循环。如何在 javascript 中更改 url

window.location.replace going into infinite loop. How to change url in javascript

我想更改 url 水平滚动。
二手
window.location.replace
window.location.assign
event.preventDefault();
http://igv.org/web/examples/events/track-url.html#/locus/chr1:155,167,355-155,190,548

滚动时,url 更改为
http://igv.org/web/examples/events/track-url.html#/locus/chr1:155,168,900-155,192,093

但是一直在重新加载或者刷新

在下面的步骤中使用

var myIgvBrowser = igv.createBrowser(div,options);
myIgvBrowser.on('locuschange', function (referenceFrame, label) {
    var change_url = HASH_PREFIX + label + id + id_val;
    alert(change_url);
    // if (window.location.href !== redirectLocation) {
    window.location.replace(change_url);
    // return false;
});

&

var myIgvBrowser = igv.createBrowser(div,options);
myIgvBrowser.on('locuschange', function (referenceFrame, label, event) {
    var change_url = HASH_PREFIX + label + id + id_val;

    window.location.replace(change_url);
    event.preventDefault();
});

警报(change_url); - 工作
滚动时,警报显示位置已更改但 window.location.replace 不起作用
如何解决这个问题,如果有任何帮助,请提前感谢大家

好像您每次加载页面时都在执行 window.location.replace,而您没有检查是否真的需要执行 window.location.replace

您需要首先检查 location.replace 是否真的需要,因为 您只是更改散列值 ,将其替换为

window.location.hash = label + id + id_val;