我以前从未见过实际使用过的<base> HTML标签 。 它的使用存在缺陷,这意味着我应该避免它吗?
事实上我从来没有注意到它在现代生产网站(或任何网站)上的使用让我对它持怀疑态度,尽管看起来它可能有用于简化我网站链接的有用应用程序。
编辑
使用基本标签几周后,我最终找到了使用基本标签的一些主要问题 ,这使得它比最初出现时更不可取。 基本上,基本标记下的href='#topic'和href=''的更改与其默认行为非常不兼容,并且从默认行为的这种更改可能很容易使您控制之外的第三方库以不正常的方式非常不可靠 ,因为它们在逻辑上取决于默认行为。 通常,这些更改是微妙的,并且在处理大型代码库时会导致不那么明显的问题。 我已经创建了一个回答,详细说明了我在下面遇到的问题。 因此,在您承诺广泛部署<base>之前,请自行测试链接结果,这是我的新建议!
#1楼
Drupal最初依赖于<base>标记,后来由于HTTP爬虫和缓存问题而决定不使用。
我一般不喜欢发布链接。 但是这个真的值得分享,因为它可以使那些寻找<base>标签的真实体验细节的人受益:
#2楼
要记住一件事:
如果您开发要在iOS上的UIWebView中显示的网页,则必须使用BASE标记。 它根本不会起作用。 是JavaScript,CSS,图像 - 除非指定了标记BASE,否则它们都不能与UIWebView下的相对链接一起使用。
我之前已经被这个抓住了,直到我发现了。
#3楼
还有一个使用base-tag的站点,并且发生了所描述的问题。 (在升级jquery之后),能够通过这样的标签网址修复它:
<li><a href="{$smarty.server.REQUEST_URI}#tab_1"></li>
这使他们“本地”
我用的参考文献:
http://bugs.jqueryui.com/ticket/7822 http://htmlhelp.com/reference/html40/head/base.html http://tjvantoll.com/2013/02/17/using-jquery-ui-接片与-的基标签/
#4楼
它可能不是很受欢迎,因为它并不为人所知。 我不会害怕使用它,因为所有主流浏览器都支持它。
如果您的网站使用AJAX,您需要确保所有网页都正确设置,否则您最终可能无法解析链接。
只是不要在HTML 4.01 Strict页面中使用target属性。
#5楼
我从来没有真正看到过使用它的重点。 提供很少的优势,甚至可能使事情变得更难使用。
除非您碰巧有数百或数千个链接,所有链接都在同一个子目录中。 然后它可以节省几个字节的带宽。
作为事后的想法,我似乎记得IE6中的标签存在一些问题。 您可以将它们放置在身体的任何位置,将站点的不同部分重定向到不同的位置。 这在IE7中被修复,这打破了很多网站。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3161370