2012-03-11 58 views
0

例如:< A HREF = " http://deomarvin.com " >下載</A >轉換爲
如果您還沒有登錄轉換爲< A HREF = " HTTP:/ /deomarvin.com/login " >登錄</A >
如果您已登錄。轉換爲< A HREF = " http://deomarvin.com " >下載</A >如何轉換簡單的鏈接

+0

學習一種網絡編程語言。 – 2012-03-11 00:48:12

回答

0

僞代碼

if (!logged) { 
    <a href="http://deomarvin.com/login">Login</a> 
} 
else { 
    <a href="http://deomarvin.com">Download</a> 
} 
+0

不,不!如果已經登錄或在登錄之前自動替換文本鏈接,例如論壇。怎麼樣 ? – 2012-03-19 07:50:43

0

這當然取決於你是如何驗證用戶是否登錄(這可能不應該用JavaScript來實現)!在你的PHP文件或ASP文件或者其他一些地方......你需要做這樣的事情......

if (logged_in()) { 
    echo 'download'; 
} else { 
    echo 'login'; 
} 
0

HTML:

<a href="http://deomarvin.com" id="downld">Download</a> 

JS:

if(!loggedin){ 
    document.getElementById('downld').innerHTML="Login" 
} 

如果您沒有對HTML的寫入權限,請使用此JS:

if(!loggedin){ 
var a=document.getElementsByTagName('a'); 
for(i=0;i<a.length;i++){ 
    try{ 
    if(a[i].innerHTML=="Download"){ 
    a[i].innerHTML="Login"; 
    } 
    }catch(e){} 
} 
} 

請注意,這將每轉換爲鏈接與其中的「下載」。

請注意,JavaScript應該從來沒有正在處理登錄的東西。這通過PHP/ASP/JSP完成時更有意義(只需根據登錄回顯/打印正確的鏈接)。 JS登錄很容易破解。

+0

@tomw我看到你在那裏做了什麼。 ;-)事實是,我在SO中的很多最初的帖子都是基於我在其他SO答案中看到的(我首先是Physics.SE成員)。所以我不知道這一切。 \t在花了一些時間在MSO之後,我意識到我的「榜樣」職位都是不好的例子。我將在稍後(明天)修復或刪除這些帖子,現在在手機上。 – Manishearth 2012-05-30 16:22:42

+0

由於我不打算過於主動,所以我基本上決定建設性地使用我的代表 - downvote壞帖子(太多人抱怨MSO)。希望有人會從我的評論中學到:) – Manishearth 2012-05-30 16:24:33

+0

@tom順便說一句,謝謝你找到我的帖子 – Manishearth 2012-05-30 16:25:57