【问题标题】:anchor href is misunderstood as external link with <base> tag in jQuery UI tabs锚 href 被误解为 jQuery UI 选项卡中带有 <base> 标记的外部链接
【发布时间】:2014-11-21 12:30:57
【问题描述】:

我正在使用 jquery UI 选项卡。 (jquery 1.11.1,jquery ui 1.11.1)

我在head&gt; 中有以下&lt;base&gt; 标签:

<base href="http://mytestdomain.com/" />

现在,当页面加载时,jquery UI 会从我的两个&lt;li&gt; 中创建两个选项卡,然后尝试通过 ajax 从基本 url 加载内容。 jQuery ui 不知道锚点的href 不是“外部”,而是“本地”,因此无法加载内容。

我的html:

<div id="container-1">
    <ul>
        <li><a href="#fragment-1">some text1</a></li>
        <li><a href="#fragment-2">some text2</a></li>
    </ul>
    <div id="fragment-1"> 
      LOREM IPSUM1
    </div>
    <div id="fragment-2"> 
      LOREM IPSUM2
    </div>
 </div>

我的javascript:

<script type="text/javascript">
    $(document).ready(function() {
        $('#container-1').tabs();
    });    
</script>

有人可以帮帮我吗?

【问题讨论】:

  • 相关stackoverflow.com/q/1889076/2333214 ...建议:不要使用&lt;base&gt;标签。
  • @TJ 你是对的。但我需要标签(我正在使用typo3,我的项目是 BIIIIG。)

标签: jquery html ajax jquery-ui jquery-ui-tabs


【解决方案1】:

因为你的基本标签:&lt;base href="http://mytestdomain.com/" /&gt;

具有的链接将被解释如下:

<a href="http://mytestdomain.com/#fragment-2">some text2</a>

这肯定行不通,因为它指向一个目录。

修改超链接的href 以包含剩余路径,直到包含该段的文件将解决问题。

例如:

<a href="index.html#fragment-2">some text2</a>

将被解释为

<a href="http://mytestdomain.com/index.html#fragment-2">some text2</a>

jQuery-UI 会从index.html

中找到具有id fragment-2 的元素

【讨论】:

  • 你是对的,但请看下面我的回答。编辑 anchot (mytestdomain.com/index.html#fragment2) 不起作用,但我不知道为什么....
  • @brandelizer 在有基本 url 时不要添加 mytestdomain.com/index.html#fragment2,或者只添加 index.html#fragment2 以便将基本 url 附加到它之前,或者使用 http://mytestdomain.com/index.html#fragment2 以便基本被跳过。我在本地测试了第一种方法,它可以工作......
  • 好的。我在页面中有多个标签模块,我只在第一个上尝试过。非常感谢您的工作!我希望我能回报你的青睐
猜你喜欢
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多