Javascript 当当前URL包含特定字符串时更改CSS

Javascript 当当前URL包含特定字符串时更改CSS,javascript,Javascript,我使用这个函数来检查url <script type="text/javascript"> $(document).ready(function () { if (window.location.href.indexOf("franky") > -1) { /* some code to change the css */; } }); </script> 目前它只在我刷新页面时起作用 有没有

我使用这个函数来检查url

<script type="text/javascript">
    $(document).ready(function () {
        if (window.location.href.indexOf("franky") > -1) {
            /* some code to change the css */;
        }
    });
</script>
目前它只在我刷新页面时起作用

有没有一种方法可以使它在url更改时不进行任何刷新?谢谢


示例:就像你必须选择一种颜色,你点击一个按钮来选择你的颜色,它使EXAMPLE.com/color.html/red;example.com/color.html/blue;example.com/color.html/black仅更改颜色而不刷新,我想在url包含每个字符串颜色时添加特定的css以澄清-是否要更改url?目前,您的代码只是尝试检查它。有没有一种方法可以使它工作,从而使url在不进行任何刷新的情况下更改,这有什么意义?如果您试图将状态存储在某个位置,则URL不是它的正确位置。我认为这意味着在推送到历史记录后从历史记录中获取已更改的URL。例如,不,我不想更改它!我想添加特定的url包含字符串自定义css!它只在刷新页面上工作,但当url更改而不刷新时,什么也不出现,听起来像是您试图根据url检测特定用户,然后使用不同的CSS?如果是这样的话,这不是实现您想要的功能的好方法。在没有刷新页面的情况下更改url时仍然不起作用,但是url检查字符串在哪里?当窗口的哈希更改时,on hashchange函数将启动。您可以在这个函数中插入if循环代码或其他内容来检查,如果url包含黑色,我如何添加css?我是一个傻瓜,非常感谢你,它似乎起作用了D
<a href="#black">black</a>
<a href="#blue">blue</a>

<script type="text/javascript">
$(window).on('hashchange', function(e){
    var origEvent = e.originalEvent;
    resultdata = origEvent.newURL;
    var black = resultdata.match(/black/);
    if (black){
      console.log(black);
    }
});
</script>