使用javascript从div中的pdf对象提取并添加链接?
我在一个网页中嵌入了一堆PDF,我想为每个PDF添加一个下载链接。例如:使用javascript从div中的pdf对象提取并添加链接?,javascript,css,pdf,object,Javascript,Css,Pdf,Object,我在一个网页中嵌入了一堆PDF,我想为每个PDF添加一个下载链接。例如: <div> <object data="files/schedule.pdf" width="99%" height="800"></object> <div class="link"> Download Link: <a href="files/schedule.pdf">schedule.pdf</a> </div> 下载链
<div>
<object data="files/schedule.pdf" width="99%" height="800"></object>
<div class="link">
Download Link: <a href="files/schedule.pdf">schedule.pdf</a>
</div>
下载链接:
通过这种方式,PDF将加载到页面中,但无论出于何种原因,用户禁用了插件或插件,仍然会有一个链接,用户可以在其中下载文档
有没有一种方法可以用前面的链接以编程方式填充“link”类div
(PDF格式显示)
“下载链接:+filename+”
换个方式做会更好吗?与中一样,将链接硬编码,然后用文件路径填充对象数据?基本上,我希望为每个对象保存两次文件路径。此代码标识页面上的所有
标记,从数据=
属性检索uri,并在对象标记后立即创建下载链接
。看这个。(需要jQuery库)
$(函数(e){
var filename_re=/[^\/]+\.pdf$/;
$('object')。每个(函数(索引){
var uri=$(this.attr('data');
var filename=filename\u re.exec(uri);
$(this.after('Download Link:');
});
});
纯Javascript版本(不需要jQuery)。见:
var filename\u re=/[^\/]+\.pdf$/;
var obj=document.getElementsByTagName('object');
对于(变量i=0,len=obj.length;i
工作正常!反正我用的是jQuery,所以马上就集成了。谢谢如果对象中有网页而不是pdf,是否可以修改此选项以显示不同的文本?例如,如果只是有一个写着“link”而不是文件名的链接,那么你想要一个下载链接:如果url以.pdf结尾,则是文件名;如果url以其他内容结尾,则是一个链接(例如(.html))?
$(function(e) {
var filename_re = /[^\/]+\.pdf$/;
$('object').each(function(index) {
var uri = $(this).attr('data');
var filename = filename_re.exec(uri);
$(this).after('<div class="link">Download Link: <a href="'+uri+'">'+filename+'</a></div>');
});
});
var filename_re = /[^\/]+\.pdf$/;
var obj = document.getElementsByTagName('object');
for (var i = 0, len = obj.length; i < len; i++) {
var uri = obj[i].data;
var filename = filename_re.exec(uri);
var div = document.createElement('DIV');
div.innerHTML = 'Download Link: <a href="'+uri+'">'+filename+'</a>';
obj[i].parentNode.insertBefore(div, obj[i].nextSibling);
}