15

写真がアップロードされる前に、写真のクライアントスケーリングにpluploadを使用しています。ユーザーがフラッシュ、シルバーライトなどのエンジンをインストールしていない場合、html4 に正常にフォールバックする機能が気に入っています。

ユーザーがページ上の特定の要素をクリックしたときにアップロードを開始できるようにしたいのですが、イベントを処理したい (ファイル ダイアログが開かないようにすることもあります)。実際、javascript を使用してファイル ダイアログを開きたいと思います。

わかりましたので、ユーザーがブラウズ ボタン (またはブラウズ ボタンを覆うオーバーレイ) をクリックしない限り、HTML4 (またはクロムを除くブラウザ:P) ではこれを実行できません。私はそれができないことを受け入れますが、ほとんどのユーザーはフラッシュまたはシルバーライトをインストールしており、この制限はありません。だから私の質問はこれです:

plupload でファイルを開くダイアログをトリガーするにはどうすればよいですか (これを行うには、フラッシュ エンジンと Silverlight エンジンのみが必要であることに注意してください)。

4

6 に答える 6

5

誰かが HTML5 ソリューションを探しているなら、ここにあります:

var up= $('#uploader').pluploadQueue();
if (up.features.triggerDialog) {
    plupload.addEvent(document.getElementById('idOtherButton'), 'click', function(e) {
        var input = document.getElementById(up.id + '_html5');
        if (input && !input.disabled) { // for some reason FF (up to 8.0.1 so far) lets to click disabled input[type=file]
            input.click();
        }
        e.preventDefault();
    }); 
}
于 2012-12-19T05:30:08.487 に答える
0

私はあなたの問題を読みました。

これを理解するのに役立つかもしれないいくつかの記事を見つけました。それらを確認してください。役立つかも…!

01. https://stackoverflow.com/questions/210643/in-javascript-can-i-make-a-click-event-fire-programmatically-for-a-file-input-e

02. https://stackoverflow.com/questions/2048026/open-file-dialog-box-in-javascript

于 2011-03-13T13:15:43.057 に答える