如何在html5中使用<base />标记仅用于特定锚标记

时间:2016-10-06 05:52:36

标签: javascript jquery html html5

我在头部有一个基本标记,并且有两个不同的锚标记,如下所示

<!DOCTYPE html>
<html lang="en">
<head>
  <base href="https://www.youtube.com"/>
</head>
<body>
  <iframe src="/embed/xDMP3i36naA?autoplay=1" frameborder="0" allowfullscreen></iframe>
  <img src="img/1.png" alt="" class="img-responsive">
</body>

我想在基本标记中使用 url 来获取特定的锚标记,我该怎么做?

谢谢,

2 个答案:

答案 0 :(得分:1)

如果你想要一个特定的锚标签只有它是不可能的,你可以使用它作为一种解决方法,例如给特定的锚一个类,并创建一个循环通过文件加载的这些锚点的javascript函数,更新它们href属性并预先添加基本URL。

使用HTML标记适用于所有网站,不适用于特定的锚点:

基本标记提供基本位置,应从该位置创建页面上的链接。文档中的相对链接(例如<a href="someplace.html"… or <img src="someimage.jpg"…)将相对于基本元素指定的URL。

<强>更新

下面是一个未经测试的示例,知道应删除基本标记:

    var specificBaseURL = 'http://www.example.com/';

    $(document).ready(function(){

        $(".specific_anchor").each(function(){

          $(this).attr("href", specificBaseURL + $(this).attr("href"));

        }); 
    });

HTML:

 <a class="specific_anchor" href="path1/">...</a>
   <a href="non/specific/path2">...</a>
   <a class="specific_anchor" href="path3/">...</a>

答案 1 :(得分:0)

本文应有助于澄清:http://www.htmldog.com/references/html/tags/base/

理论上,您只需相应修剪iframe的src属性:

<!DOCTYPE html>
<html lang="en">
<head>
  <base href="https://www.youtube.com"/>
</head>
<body>
  <iframe src="embed/xDMP3i36naA?autoplay=1" frameborder="0" allowfullscreen></iframe>
  <img src="img/1.png" alt="" class="img-responsive">
</body>

但是当您尝试使用任何其他相对路径时会产生冲突,例如img src - 因为您设置了<base href="https://www.youtube.com"/>,您的img相对路径将指向https://www.youtube.com/img/1.png - 我认为这不是你想要的......

将整个视频网址放在您的iframe src中可能会更好,并完全抛弃<base />声明。