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

时间:2017-11-09 05:40:33

标签: javascript html web webbrowser-control

我想在水平滚动时更改网址。
已使用
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

在滚动时,网址会更改为此
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不工作
如何解决这个问题,如果有任何帮助,请提前感谢你们

1 个答案:

答案 0 :(得分:0)

似乎每次页面加载时你都在window.location.replace,而且你不会检查是否确实需要window.location.replace

您需要先检查是否确实需要location.replace,因为您只是更改哈希值,请将其替换为

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