0

クライアントは、ユーザーがリンクをクリックして PDF をダウンロードしたときに、JavaScript トラッキング コードを実行できるようにしたいと考えています。私の解決策は、ファイルの名前をクエリ文字列としてページに渡し、ユーザーにファイルをダウンロードするように求めることです。.netコードの前にjavascriptを実行する方法はありますか?

これは、ファイルのダウンロード ページで使用しているものです。

public partial class FileTracking : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string pdf = Request["pdf"] ?? string.Empty;

        if (string.IsNullOrEmpty(pdf)) return;

        Response.Clear();
        Response.AppendHeader("content-disposition", "attachment; filename=" + pdf);
        Response.ContentType = "application/octet-stream";
        Response.WriteFile(pdf);
        Response.Flush();
        Response.End();
    }
}
4

1 に答える 1

2

JavaScript コードを見ないと、完全に評価することは困難です。ただし、jquery を使用している場合は、もちろん、次のようなことを行うことでリンクのクリックを傍受することができます。

$('.myLink' data-filename='warandpeace.pdf' data-file-url="/file/history").click(function(e){
    var fileName = $(this).data('filename');
    var url = $(this).data('file-url');
    // this prevents the link actioning straight away
    e.preventDefault();
    // do your tracking stuff here 
    trackMyStuff(fileName);
    // invoke your file download now
    downloadMyFile(fileName, url);
    return false;
});

お役に立てれば...

[編集] - より完全な例を示すために、いくつかのインライン データ属性を追加しました..

于 2013-10-30T15:09:48.410 に答える