0

私は元々、マウスアップとマウスダウンに基づいて src を変更し、クリックすると押し下げられたように見え、クリック音が鳴るボタンを作成しました。MVCアクションを介してPDFダウンロードを強制しようとするまで、これはうまくいきました。この猫の皮を剥ぐ方法はいくつか試しましたが、mouseup 関数を使用してウィンドウの場所を PDF ダウンロード アクションに設定し、必要なファイル ダウンロード パス情報を渡すことにしました。ボタンをクリックすると(マウスダウンが正しく実行されます)、マウスアップでクリック音が正しく再生され、必要に応じてpdfファイルがダウンロードされますが、ボタンの画像が壊れているように見えます。

最初にページを読み込んで、ボタンがまだクリックされていないとき、画像は想定どおりに見えます。次に、マウスアップを実行すると壊れます(Chromeを使用するか、IEとSafariで消えたり、文字化けしたりします)が、ソースを調べると、src属性が同一であるように見えるため、srcが同じ場合に壊れた画像を返す理由がわかりません以前のように。

コード-

jquery を表示:

var audio = document.getElementsByTagName("audio")[0];

    $('#MAAX-DGB-Button').mouseup(function () {
        $(this).attr('src', '../../Content/Images/AdLandingViews/MAAX-DGB.png');
        audio.play();

        var pdfDownload = '/Locator/ForcePDFDownload?PDFURL=<file location info>';
        window.location = pdfDownload;
    });
    $('#MAAX-DGB-Button').mousedown(function () {
        $(this).attr('src', '../../Content/Images/AdLandingViews/MAAX-DGB_press.png');
    });

HTML を表示:

<img src="../../Content/Images/AdLandingViews/MAAX-DGB.png" alt="Download MAAX Collection Brochure" id="MAAX-DGB-Button" />

ForcePDFDownload MVC アクション:

public ActionResult ForcePDFDownload(string PDFURL)
    {
        string path = @"\\<server location>\" + PDFURL;
        string filename = Path.GetFileName(PDFURL);
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename);
        return File(path, "application/pdf");
    }

https://maaxspasportal.com/Locator/AdLandingLocate/MAAXCollectionでコードをテストでき ますが、「ダウンロードグリーンパンフレット」ボタン。

テスト済みブラウザ:

Chrome バージョン 28.0.1500.95 - 画像が壊れているように見える。

IE 10 - 画像が消えたり、文字化けしたりします。

Safari 6.0.5 - 画像が消えます。

FireFox 22.0 - 動作します!

これが正しく機能するように助けてくれてありがとう。

4

1 に答える 1