[英]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.