كيفية بدء تشغيل التحميل التلقائي من الملف في برنامج Internet Explorer ؟

StackOverflow https://stackoverflow.com/questions/156686

سؤال

كيف يمكنني تهيئة تلقائية تحميل الملف في برنامج Internet Explorer ؟

على سبيل المثال ، في تحميل الصفحة اريد رابط التحميل تظهر رسالة:"إذا كنت التحميل لا يبدأ تلقائيا ....الخ".تحميل ينبغي أن تبدأ بعد وقت قصير من تحميل الصفحة.

في فايرفوكس هذا هو سهلة, تحتاج فقط إلى إدراج العلامة الوصفية في الرأس ، <meta http-equiv="Refresh" content="n;url"> حيث n هو عدد الثواني ، url هو رابط تحميل البرنامج.هذا لا يعمل في برنامج Internet Explorer.كيف يمكنني جعل هذا العمل في Internet Explorer المتصفحات ؟

هل كانت مفيدة؟

المحلول

سورس يستخدم عنصر <iframe> مع السمة src="" مشيرا إلى ملف للتحميل.

<iframe width="1" height="1" frameborder="0" src="[File location]"></iframe>

و(الآثار الجانبية: لا توجيه، لا جافا سكريبت، لا يزال URL الأصلي دون تغيير)

نصائح أخرى

أنا <م> أكره عندما المواقع تعقد تحميل كثيرا و بدلا من حسن البالغ من العمر رابط .

الميت نسخة بسيطة:

<a href="file.zip">Start automatic download!</a>

وكان يعمل! في كل متصفح!


إذا كنت تريد تحميل الملف الذي عادة ما يتم عرض مضمنة (مثل الصورة) ثم HTML5 لديه download السمة أن قوات تحميل الملف. كما يسمح لك لتجاوز اسم ( على الرغم من أن هناك طريقة أفضل للقيام بذلك ):

<a href="report-generator.php" download="result.xls">Download</a>

نسخة مع "شكرا" الصفحة:

إذا كنت ترغب في عرض "شكرا" بعد التحميل، ثم استخدام:

<a href="file.zip" 
   onclick="if (event.button==0) 
     setTimeout(function(){document.body.innerHTML='thanks!'},500)">
 Start automatic download!
</a>

وظيفة في هذا setTimeout قد يكون أكثر تقدما وعلى سبيل المثال تحميل صفحة كاملة عبر أجاكس (ولكن لا التنقل بعيدا عن الصفحة - لا تلمس window.location أو تنشيط الروابط الأخرى).

وهذه النقطة هي التي تصل إلى تحميل وحقيقية، يمكن نسخها، جر، اعتراضها من قبل مسرعات التنزيل، يحصل اللون :visited، لا إعادة تحميل الصفحة، إذا تركت مفتوحة بعد إعادة تشغيل المتصفح، وما إلى ذلك.

هذا ما يمكنني استخدام لImageOptim

وكان لي مشكلة مشابهة وأيا من الحلول السابقة عملت بالنسبة لي. وهنا قال لي محاولة (يتطلب مسج):

$(function() {
  $('a[data-auto-download]').each(function(){
    var $this = $(this);
    setTimeout(function() {
      window.location = $this.attr('href');
    }, 2000);
  });
});

والاستخدام: فقط إضافة سمة تسمى data-auto-download لافتا رابط لتحميل في السؤال التالي:

<p>The download should start shortly. If it doesn't, click
<a data-auto-download href="/your/file/url">here</a>.</p>

ويجب أن تعمل في جميع الحالات.

ولقد قمت مؤخرا حلها عن طريق وضع السيناريو التالي على الصفحة.

setTimeout(function () { window.location = 'my download url'; }, 5000)

وأوافق على أن على بعد التحديث الفوقية سيكون أجمل ولكن إذا كان لا يعمل ماذا تفعل ...

وهناك بعض الشيء البسيط للمسج حل هذه المشكلة بالنسبة لي.

$(function() {
   $(window).bind('load', function() {
      $("div.downloadProject").delay(1500).append('<iframe width="0" height="0" frameborder="0" src="[YOUR FILE SRC]"></iframe>'); 
   });
});

في بلدي HTML، أنا ببساطة يكون

<div class="downloadProject"></div>

وكل هذا يفعله هو الانتظار ثانية ونصف، ثم إلحاق شعبة مع IFRAME في اشارة الى الملف الذي تريد تحميله. عند تحديث الإطار من على الصفحة، متصفحك بتحميل الملف. سهل هكذا. : D

وهذا هو ما أنا استخدام في بعض المواقع (يتطلب مسج):.

$(document).ready(function() {
    var downloadUrl = "your_file_url";
    setTimeout("window.location.assign('" + downloadUrl + "');", 1000);
});

ويتم تحميل الملف تلقائيا بعد 1 ثانية.

أنا استخدم هذا ، يبدو العامل و هو مجرد بسيطة JS, أي إطار:

Your file should start downloading in a few seconds. 
If downloading doesn't start automatically
<a id="downloadLink" href="[link to your file]">click here to get your file</a>.

<script> 
    var downloadTimeout = setTimeout(function () {
        window.location = document.getElementById('downloadLink').href;
    }, 2000);
</script>

ملاحظة:تبدأ هذه المهلة في لحظة تحميل الصفحة.

ويعمل على كروم، فايرفوكس وIE8 وأعلاه:

var link = document.createElement('a');
document.body.appendChild(link);
link.href = url;
link.click();

وراجعت وجدت، وأنها ستعمل على نقرة زر عبر كتابة الحدث onClick إلى مرساة العلامة أو زر الإدخال

onclick='javascript:setTimeout(window.location=[File location], 1000);'

تأكد من أن تخدم ما يصل الملف دون a no-cache!أي لديه مشاكل مع هذا ، إذا كان يحاول المستخدم "فتح" تحميل دون حفظها أولا.

عودة إلى الجذور، وأنا استخدم هذا:

<meta http-equiv="refresh" content="0; url=YOURFILEURL"/>

وربما لا تتفق WC3 لكن يعمل الكمال على جميع المتصفحات، لا HTML5 / JQUERY / جافا سكريبت.

وتحية توم:)

وأكثر واحد:

var a = document.createElement('a');
a.setAttribute('href', dataUri);
a.setAttribute('download', filename);

var aj = $(a);
aj.appendTo('body');
aj[0].click();
aj.remove();

ويبدو أن هذا العمل بالنسبة لي - في جميع المتصفحات

 <script type="text/javascript">
    window.onload = function(){
     document.location = 'somefile.zip';
    }
    </script>

وأعتقد أن هذا سوف تعمل من أجلك. لكن الزوار من السهل إذا ما حصل شيء في ثوان دون الحاجة إلى إنفاق المزيد من الوقت، وبالتالي فإنها أيضا مرة أخرى بزيارة موقع الويب الخاص بك. <a href="file.zip" onclick="if (event.button==0) setTimeout(function(){document.body.innerHTML='thanks!'},500)"> Start automatic download! </a>

لأولئك الذين يحاولون تحريك تحميل باستخدام الارتباط الحيوي فإنه من الصعب الحصول على عمل باستمرار عبر المتصفحات.

كان لدي صعوبة في IE10+ تحميل PDF و استخدامها @dandavis' download وظيفة (https://github.com/rndme/download).

IE10+ يحتاج msSaveBlob.

آمل أن يكون هذا سوف يعمل على جميع المتصفحات.يمكنك أيضا تعيين لصناعة السيارات في تحميل توقيت.

<html>
<head>
<title>Start Auto Download file</title>
<script src="http://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$(function() {
$('a[data-auto-download]').each(function(){
var $this = $(this);
setTimeout(function() {
window.location = $this.attr('href');
}, 2000);
});
});
</script>
</head>
<body>
<div class="wrapper">
<p>The download should start shortly. If it doesn't, click
<a data-auto-download href="auto-download.zip">here</a>.</p>
</div>
</body>
</html>

التجريبي هنا

ونيس حل مسج:

jQuery('a.auto-start').get(0).click();

ويمكنك حتى تعيين اسم ملف مختلف للتحميل داخل العلامة <a>:

Your download should start shortly. If not - you can use
<a href="/attachments-31-3d4c8970.zip" download="attachments-31.zip" class="download auto-start">direct link</a>.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top