Javascript 页面的打印版本。我想附加相对链接的完整url
当media type=print时,我使用的是一个CSS文件,它会将链接地址附加到每个链接的内容中。与外部页面的绝对链接没有问题,但与我的网站上的其他页面的相对链接有问题,这些页面并不总是处于链接的同一文件夹级别 到目前为止: 我已经确定了我希望显示的链接:Javascript 页面的打印版本。我想附加相对链接的完整url,javascript,jquery,Javascript,Jquery,当media type=print时,我使用的是一个CSS文件,它会将链接地址附加到每个链接的内容中。与外部页面的绝对链接没有问题,但与我的网站上的其他页面的相对链接有问题,这些页面并不总是处于链接的同一文件夹级别 到目前为止: 我已经确定了我希望显示的链接: $(".TreasuryLink").each(function(i) { var thisLink = $(this).attr('href'); }); 再一次,我的问题是检索完整的url,其中的链接可能会转到站点文件结构中的不同
$(".TreasuryLink").each(function(i) {
var thisLink = $(this).attr('href');
});
再一次,我的问题是检索完整的url,其中的链接可能会转到站点文件结构中的不同级别,如
<a href="../../anotherpage.html">
您可以在CSS样式表中定义它。尝试以下风格:
@media print{
a:after{content:" (" attr(href) ")"}
}
这将直接在括号中的链接后面添加链接的href
值。理论上,您可以在该规则上添加路径的其余部分,因此看起来如下所示:
@media print{
a:after{content:" (http://www.domain.com/" attr(href) ")"}
}
@media print{
a.TreasuryLink:after{content:" (http://www.domain.com/" attr(href) ")"}
}
但是,这将以相同的方式影响所有超链接(除非您使用CSS以不同方式选择某些a
元素)。也就是说,如果你混合了完整链接和部分链接,你就必须创建一些不同的类或以不同的方式选择那些a
标记
从示例代码中,您可以这样做:
@media print{
a:after{content:" (http://www.domain.com/" attr(href) ")"}
}
@media print{
a.TreasuryLink:after{content:" (http://www.domain.com/" attr(href) ")"}
}
但是,如果使用像。/../file.html
这样的路径,这也不起作用。您需要将这些URL更改为类似于/path/to/file.html
,在我看来这会更好
最终结果将使其在页面的打印版本上显示如下:
点击这里联系我们!
(http://www.domain.com/contact.html)
您可以将其缩小到如下相对链接:
@media print{
a:after{content:" (http://www.domain.com/" attr(href) ")"}
}
@media print{
a.TreasuryLink:after{content:" (http://www.domain.com/" attr(href) ")"}
}
a[href^=“/”]:之后{
内容:“(attr(href)”!重要;}
我知道我没有时间回顾我的代码并找到所有相关链接来添加类 这并不是我想要做的,但是学习CSS中的:after功能非常棒,值得为外部内容添加单独的类
有没有一种方法可以将:after代码添加到TreasuryLink类的现有css声明中?我的意思是,我应该将代码放在这样一个部分的什么位置:a.TreasuryLink,a.TreasuryLink{display:inline;text decoration:underline;font-weight:normal;}请记住在代码示例之前添加四个空格,以使代码更具可读性。感谢使用此肮脏但有效的修复程序为我节省了不少时间。