[英]What is the best practice for the multiple use of the same link?
我正在尝试合理化一个网站,并且在该网站上有许多指向同一文档的链接,因此我想创建一个返回该文档URL的JavaScript。 这样,我可以更新文档,而仅需更改函数中的URL,而不必更改所有链接中的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
标头应放在何处)。
最佳方法1 :将那些文档引用放在数据库表中的某个位置,然后使用表的当前值在页面中引用它们。 这将创建一个“真实”的位置,并允许您从全局角度更新站点。 您也可以在以后提供搜索,标记,显示列表等。
1 并不意味着这绝对是最好的,但肯定比更新硬编码的引用更好。
像php这样的服务器端编程语言是更好的选择。
以下示例代码可以帮助您:
<?php
$link="http://www.example.com/files/document.pdf";
if ($_GET['PAGE'] == "downloads")
{
?>
This is a download page where you can download our flyer.
<?php
echo "<a href=\"".$link."\">Download PDF</a>";
}
if ($_GET['PAGE'] == "specials")
{
?>
This is our store specials page. check them out. a link to the flyer is below.
<?php
echo "<a href=\"".$link."\">Download PDF</a>";
}
?>
该代码不是100%完美的,因为某些文本需要调整,但是它的工作是使用参数PAGE并看到它是“下载”或“特殊”,如果是,它将加载适当的页面并将链接添加到下载文件。 如果您同时尝试两个页面,则下载链接完全相同。
如果上述php脚本另存为index.php,则可以使用以下命令调用每个页面:
index.php?PAGE=specials for the specials page
index.php?PAGE=downloads for the download page
一旦可行,您就可以为另一个页面添加另一个“ if”部分来创建,但是每个部分中最重要的一行是...的最后一行。
echo "<a href=\"".$link."\">Download PDF</a>";
...因为它采用的变量在脚本中的每种情况下都可用。
使用服务器端方法的一个优点是,即使禁用了javascript,人们也可以查看站点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.