微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正确解释网址参数和#标签

如何解决正确解释网址参数和#标签

让我们说一个html文档有两个块,因此您只能看到其中一个内容,使用下面的相同javascript函数通过菜单按钮和/或url参数进行切换

<div class="block1"> 
    <p id="tag11"> content11 </p>
    <p id="tag12"> content12 </p>
</div>
<div class="block2"> 
    <p id="tag21"> content21 </p>
    <p id="tag22"> content22 </p>
</div>

(带有网址参数)(示意性地):

<script type="text/javascript">
    function onSTART(){
        var url = new URL(window.location.href); 
        var show = url.searchParams.get("show"); 
        switch(show) { 
        case "b1":  
        showBLOCK1(); 
        break; 
        case "b2":  
        showBLOCK2(); 
        break; 
        default: 
        doSOMETHINGELSE(); 
    }
    window.onload = onSTART; 
</script>

现在提问。我想使用url访问特定内容 http://.......htm?show=b2#tag22

但是它并不能如我所愿。在我看来,首先将文档加载,然后将其定位在提供的主题标签上,然后才应用js函数。结果,内容放错了位置。显然我不明白它是如何工作的。

我使用的方法/风格好吗?同样,我想显示某些块并使用url参数和#标签将此块的内容定位。有可能吗?

谢谢!

解决方法

onSTART函数结尾的以下行解决了该问题:

if(window.location.hash) {location.hash = window.location.hash.substr(0);} 

该解决方案可能不是很好,但它确实有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?