2012-04-05 2 views
0

私はダウンロードリンクを持っています。ユーザーがそれをダウンロードした後、ダウンロードへのリンクを削除してテキストを変更します。私はそれを得ることができましたが、ユーザーがexeファイルをダウンロードすることができないほど高速です。どういうわけか私はそれが解決策になるのだろうか?私がやっていることをする良い方法はありますか?Jquery経由でリンクを変更した後

ここに私のJS

function removeLink(){ 
    try{ 
     $('#downloadLink').text("Thank You For Downloading This Software!"); 
     $('#downloadLink').attr('href', 'javascript:void(0)'); 
    } 
    catch(err){ 
     alert(err.message); 
    } 
} 

リンク

<a href="download.exe" title="Download" id="download" onclick="removeLink()">Download</a> 

はまた、私は、私はちょうどそれのためにJavaScriptを使用していますので、それはそれをやって、非常に「安全な」方法ではない知っていますが、これは主にあります平均的なユーザーのためのものです。

+0

removeLink()はどのように呼び出されますか? –

+0

あなたの拠点がカバーされていることを確認してください。ユーザーがダウンロードをクリックし、キャンセルしてもう一度やり直したい場合はどうなりますか? – Alain

答えて

1

これは何か?あなたはまだそれが機能していないとの問題がある場合は

$('#downloadLink').click(function() { 
    $(this).replaceWith('<span>Thanks for downloading...</span>'); 
}); 

は、クリック機能の上部にwindow.location = 'download.exe';を置きます。

+0

それは魅力的に機能しました。私はwindow.locationを関数の先頭に置かなければなりませんでしたが、replaceWith()は私が知らなかったクールな関数です!ありがとう! –

0

だから - そのない安全な方法を知っている - と間違って何:

$('a').on('click', function() { 
    $(this).text('Thank You For Downloading This Software!').removeAttr('href'); 
});​ 

変更するには、ありませんbecuase代わりにあなたが関数removeLinkを(必要ないかもしれません$('a')

+0

問題は、ダウンロードするチャンスがないということです。それはテキストとhrefが変更されますが、JavaScriptファイルが速すぎるため、exeファイルがダウンロードされません。 –

-2

)の適用は何でもするセレクタそれを呼び出す。代わりにjQueryのdelay()

もう一つは、あなたが#downloadLinkを呼び出している... IDを追加することを忘れないでくださいということです

$(document).ready(){ 

}); 

そしてまたあなたのタイムアウトの問題のために...

使用を使用タグに

EDIT: 他の人が言っているように、jQueryの全機能を使いたいかもしれません。

関連する問題