2017-12-05 10 views
0

ダウンロードするファイルのランダムな番号を見つけることができるウェブページがあります。一度にすべてのファイルをダウンロードするFireFoxの拡張機能を少し開発したかったのです。これまでのところ私は、これらのファイルをダウンロードするには、次の機能を持っている:複数のリンクをトリガーしてファイルをダウンロードする

function getFilesJQ() { 
    var $dlLinks = $('a').filter(function(index) { return $(this).text() === "Download"; }); 

    $dlLinks.each(function() { 
     $(this).trigger('click'); 
    }); 
} 

問題は最初のリンクがクリックされていること、であり、対応するファイルのダウンロードが開始されます。他は誘発されない。

どこに問題がありますか?これも可能ですか?

編集:

これはどのように見えるか$ dlLinksです:リクエストを投稿するには、これらのリンクのいずれかをクリックすると

{…} 
0: <a id="exerciseResourcesForm:a3:0:linkDownload" href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('exerciseResourcesForm'),{'exerciseResourcesForm:a3:0:linkDownload':'exerciseResourcesForm:a3:0:linkDownload'},'');}return false"> 
1: <a id="exerciseResourcesForm:a3:1:linkDownload" href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('exerciseResourcesForm'),{'exerciseResourcesForm:a3:1:linkDownload':'exerciseResourcesForm:a3:1:linkDownload'},'');}return false"> 
2: <a id="exerciseResourcesForm:a3:2:linkDownload" href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('exerciseResourcesForm'),{'exerciseResourcesForm:a3:2:linkDownload':'exerciseResourcesForm:a3:2:linkDownload'},'');}return false"> 
3: <a id="exerciseResourcesForm:a3:3:linkDownload" href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('exerciseResourcesForm'),{'exerciseResourcesForm:a3:3:linkDownload':'exerciseResourcesForm:a3:3:linkDownload'},'');}return false"> 
length: 4 
prevObject: Object { 0: a, 1: a, 2: a, … } 
__proto__: Object { jquery: "3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector", constructor: r(), length: 0, … } 
jack_download.js:10:2 

が発行されています

POST 
https://*******/emp/ExerciseEdit.jsf 
[HTTP/1.1 200 OK 28ms] 
POST 
https://sb-ssl.google.com/safebrowsing/clientreport/download 
[HTTP/2.0 200 OK 109ms] 
+0

'$ dlLinks'がどのようになっているかを示してください。 – brk

+0

@brk完了。 ..... –

答えて

0
$(this).trigger('click'); 

これは現在のページでリンクを開く可能性があります。現在のページを表示します。あなたは新しいもので、それを開こうとする可能性があります

window.open(this.href, "Download"); 
0

考慮にこれらのリンクのtarget属性をそれを取るために一つのこと。 targetが定義されていない場合は、clickアクションが新しいセッションを開き、その後のダウンロードはキャンセルされます。

function getFilesJQ() { 
    var $dlLinks = $('a').filter(function(index) { return $(this).text() === "Download"; }); 

    $dlLinks.each(function() { 
     window.open(this.href); 
    }); 
} 

ただし、お使いのブラウザは、このように複数のポップアップを解釈し、それらをブロックしようとする場合があることに注意してください。これを回避する1つの簡単な方法は、新しいウィンドウで開くために、これらのリンクを「強制」することです。また、ポップアップブロッカーをオフにする必要があります。

+0

私はあなたのポイントを見ます。意味をなさない私はリンクがonclickイベントを持っているということが今の問題だと思います。複数のタブが開かれていますが、1つのファイルはダウンロードされていません(私の質問で '$ dlLinks'オブジェクトをチェックしてください)。 –

+0

開いているタブにコンテンツが表示されていますか? –

+0

はい、基本的にウェブページ(https://******/emp/Overview.jsf#)の「概要」ページです。 –

関連する問題