为什么相对url ./到主页不起作用

时间:2015-07-07 01:25:10

标签: javascript asp.net

我将我的asp.net 2.0网站修改为适合移动设备。在台式机和平板电脑上,导航菜单是一个水平栏,使用类mobilemenu设置,在所有其他设备上,它是一个下拉菜单,使用class mobiledropdown设置样式。一切正常,除了在具有下拉菜单的移动设备上,主页菜单项在选中时不执行任何操作,但所有其他下拉项目都正确导航。在这两种情况下,主页的网址都是" ./"但我也尝试使用完整的http://www加上我的域进行硬编码,这也适用于mobilemenu但不适用于mobiledropdown。

我认为它必须与仅用于下拉列表的javascript相关。 代码如下。它包含在一个包含文件中。 css隐藏或显示基于媒体查询的相应菜单,并且一切都很好。 第一个div元素适用于较大的设备,并且是已经使用了几年而没有任何问题的代码。我添加了mobilemenu类,用于将其隐藏在较小的设备上。我添加了第二个div来显示较小设备的下拉列表。

<div class="mobilemenu"  style="width:90%; margin-left:5%; margin-right:5%; margin-top:0%; margin-bottom:1%; padding:0px;">
  <div id="menu" style="text-align:center;width:100%;height:22px; padding:0px;">
    <ul id="nav" style="line-height: 22px; width:100%; margin:0px; padding:0px;">
      <li style="width:15%;">
        <a  class="custom" href="./">Home</a>
      </li>
      <li style="width:20%;">
        <a class="custom" href="Order.aspx" >Order</a>
      </li>
      <li style="width:15%;">
        <a class="custom" href="Company.aspx" >Company</a>
      </li>
      <li style="width:20%; ">
        <a class="custom" href="Download.aspx" >Downloads</a>
      </li>
      <li style="width:15%; ">
        <a class="custom" href="Blog.aspx" >Blog</a>
      </li>
    </ul>
  </div>

  <div id="menu2" style="text-align:left">
    <select class="mobiledropdown"  onChange="window.location=this.value">
      <option value="./" selected="">Home</option>
      <option value="Support.aspx">Support</option>
      <option value="Order.aspx" >Order</option>
      <option value="Company.aspx" >Company</option>
      <option value="Download.aspx" >Downloads</option>
      <option value="Blog.aspx" >Blog</option>
    </select>

  </div>
</div>

2 个答案:

答案 0 :(得分:0)

删除点(。):

 <select class="mobiledropdown"  onChange="window.location=this.value">
    <option value="/" selected="">Home</option>
    {rest of your code goes here}
 </select>

答案 1 :(得分:0)

我找到了一个解决方案,虽然我不明白它为什么会起作用,所以也许有人可以解释一下。 我通过插入“菜单”选项作为第一个选项更改了下拉菜单的html代码,并删除了Home选项中的选定属性。我不得不添加一个我不想要的菜单项似乎不合逻辑。

  <div id="menu2" style="text-align:left">
    <select class="mobiledropdown"  onChange="window.location=this.value">
      <option>Menu</option>
      <option value="./">Home</option>
      <option value="Support.aspx">Support</option>
      <option value="Order.aspx" >Order</option>
      <option value="Company.aspx" >Company</option>
      <option value="Download.aspx" >Downloads</option>
      <option value="Blog.aspx" >Blog</option>
    </select>

  </div