我在本地 Windows 开发环境中使用 jquery UI 选项卡。我正在使用他们的演示代码进行测试
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nunc tincidunt</a></li>
<li><a href="#tabs-2">Proin dolor</a></li>
<li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. </p>
</div>
<div id="tabs-2">
<p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie</p>
</div>
<div id="tabs-3">
<p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede ve</p>
</div>
</div>
问题是我在此函数上收到“未捕获的 URIError:URI 格式错误”:
function isLocal( anchor ) {
return anchor.hash.length > 1 &&
decodeURIComponent( anchor.href.replace( rhash, "" ) ) ===
Uncaught URIError: URI malformed
decodeURIComponent( location.href.replace( rhash, "" ) );
}
我怀疑这是由于 Windows 环境中的 URI 看起来像这样:
file:///C:/Work/my%20project/yadda%20ac%E7%F5es%20yadda/submenu.html#tabs-1
我怎样才能让它在本地 Windows 上工作,因为我的客户希望在上线之前看到它在那里工作?我已经测试过,我知道这是由 uri 上的特殊字符的编码引起的(比如单词“acções”)。有没有办法让它即使使用特殊字符也能正常工作?
我知道我可以简单地通过删除这些字符并重命名文件/文件夹来解决这个问题,但我希望有一个更适合客户的解决方案,以防他们决定再次重命名文件夹(一切都只是在他们的脸上出现了 CABOOM )。