Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何查找涉及PDF';然后在链接的前面附加一个绝对路径?_Javascript - Fatal编程技术网

Javascript 如何查找涉及PDF';然后在链接的前面附加一个绝对路径?

Javascript 如何查找涉及PDF';然后在链接的前面附加一个绝对路径?,javascript,Javascript,我有一个html页面,上面有很多链接。有些链接连接到.pdf 是否可以在加载页面时编写javascript- 它扫描html文件并找到所有链接到.pdf的链接 然后在url的前端附加一个硬编码的前端 页面上的所有链接都是相对的,当这些.pdf链接在安卓平板电脑上打开时,我遇到了问题。但是当我使用绝对路径时,它处理它没有问题。因此,我只想在.pdf链接上附加绝对路径。如果使用jQuery,这里有一种简单的方法可以选择所有这些链接: $('a[href$=".pdf"]').each(funct

我有一个html页面,上面有很多链接。有些链接连接到.pdf

是否可以在加载页面时编写javascript-

  • 它扫描html文件并找到所有链接到.pdf的链接

  • 然后在url的前端附加一个硬编码的前端


页面上的所有链接都是相对的,当这些.pdf链接在安卓平板电脑上打开时,我遇到了问题。但是当我使用绝对路径时,它处理它没有问题。因此,我只想在.pdf链接上附加绝对路径。

如果使用jQuery,这里有一种简单的方法可以选择所有这些链接:

$('a[href$=".pdf"]').each(function() {
    this.href = 'YOUR URL HERE' + this.href;
});
href
是一个属性选择器,
$=
意味着它会搜索属性,即“.pdf”

如果不想使用jQuery,可以使用标准JavaScript,如下所示:

var links = document.getElementsByTagName('a');

for (var i = 0; i < links.length; i++) {
    if (links[i].href.substr(links[i].href.length - 4) == '.pdf') {
        links[i].href = 'YOUR URL HERE' + links[i].href;
    }
}
var links=document.getElementsByTagName('a');
对于(变量i=0;i
与voithos相同,但没有jQuery:

var links=document.links; //Get all links in the document

for (var i=0;i<links.length;i++) { //Loop through each link
    thisHrefExt=links[i].href.split("."); //Split target at all periods
    thisHrefExt=thisHrefExt[thisHrefExt.length-1]; //Select the last section, which should be the extension

    if (thisHrefExt.toLowerCase()=="pdf") { //If the extension is "pdf" (case insensitive)...
        links[i].href="hard-coded-front-end"+links[i].href; //...Add your hard-coded bit at the beginning
    }
}

这将在页面加载时修复您的PDF链接。

这太棒了。我可以把它放在一个.js文件中,这样我可以调用它在多个文件上运行吗?
function changePDFLinks() {
    var links=document.links; //Get all links in the document

    for (var i=0;i<links.length;i++) { //Loop through each link
        thisHrefExt=links[i].href.split("."); //Split target at all periods
        thisHrefExt=thisHrefExt[thisHrefExt.length-1]; //Select the last section, which should be the extension

        if (thisHrefExt.toLowerCase()=="pdf") { //If the extension is "pdf" (case insensitive)...
            links[i].href="hard-coded-front-end"+links[i].href; //...Add your hard-coded bit at the beginning
        }
    }
}
window.onload=changePDFLinks;