javascript - 多次使用同一链接的最佳实践是什么?

标签 javascript php html

我正在尝试合理化一个网站,并且该网站上有许多指向同一文档的链接,因此我想创建一个返回该文档 URL 的 JavaScript。这样,我就可以更新文档,只需要更改函数中的 URL,而不必更改所有出现的链接(这是一个专业的内部网站,有许多指向官方文档的链接,经常更新,超出了我的预期)控制,每次我更新链接时,我意识到过了一段时间我忘记了一些,即使是在所有 html 文件中搜索。该网站很困惑,很多人写得不好,这就是为什么我试图简化)

我的第一个想法是使用<A href="javascript:F_link_pdf()">link</A> ,但每个人都说这是一种不好的做法。我仍然不明白为什么,而且我不喜欢使用 onclick因为它不适用于中键单击,并且我想让用户决定如何打开文档。

另外,我想使用<A href="javascript:F_link_pdf()#page=39">link</A>重定向到特定页面。

除此之外,到目前为止我所尝试的方法并没有像我预期的那样工作,所以我需要一些帮助,无论是想出更好的解决方案,还是让这项工作成功!

这是我的js,有不同的版本:

function F_link_PDF() {
    // i was pretty sure this would work
    return "http://www.example.com/presentation.pdf" ;
}
function F_link_PDF_2() {
    document.write("http://www.example.com/presentation.pdf");
}
function F_link_PDF_3() {
    // i don't like this solution, as it doesn't open as user intended to
    location.href = "http://www.example.com/presentation.pdf" ;
}

此示例适用于 pdf 文档,但我也可能需要此示例用于 html、doc、ppt... 最后,我从 js 开始,因为我习惯了,但我也可以使用其他语言,php、asp,如果有人说这是更好的选择

提前致谢!

最佳答案

黑客方法:继续使用 JavaScript,但是您会遇到浏览器不运行它的潜在问题。

更好的方法:使用 mod_rewrite/.htaccess 将以前的(过期的)请求重定向到资源的新位置。您还可以使用 FallbackResource 并提供一个 .php 文件,该文件可以根据条件提供新资源(您现在可以使用 PHP 来决定 Location header 的位置) )。

最佳方法1:将这些文档引用放置在数据库表中的某个位置,并使用表的当前值在页面中引用它们。这创建了一个单一的“真相”位置,并允许您从全局 Angular 更新网站。您还可以稍后提供搜索、标记、显示列表等。

 

1 并不意味着它是绝对最好的,但它肯定是比更新硬编码引用更好的方法。

关于javascript - 多次使用同一链接的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29014292/

相关文章:

javascript - 如何使用 javascript 迭代已安装的字体?

javascript - 使用 Javascript 数组将键和值与某个变量匹配的正确方法是什么?

javascript - 转发器定义将从设计器中的嵌套转发器中删除

javascript - Input type FILE multiple - 按顺序添加文件

javascript - 如何在浏览器中使用 WebGL 实现 FPS View ?

php - mkdir() 不修改目录

javascript - Summernote - 验证时显示为原始 HTML 的文本

php - 如何在我的用户存储在 SQL 数据库中的网站上记录每个用户的时间 session ?

javascript - 根据选择选项显示/隐藏 div

php - 更高目录中的嵌入式页面不使用样式表