Попробуйте поместить document.getElementById
в setTimeout()
Например.
setTimeout(function(){
console.log(document.getElementById('whatever'));
}, 100);
Если это сработает, тогда это просто проблема синхронизации.
Вы должны подключиться к url перед setRequestProperty
Изменить:
urlConnection.setRequestProperty("Range", "Bytes=0-24");
urlConnection.connect();
Кому:
urlConnection.connect();
urlConnection.setRequestProperty("Range", "Bytes=0-24");
Попробуйте изменить следующее:
urlConnection.setRequestProperty("Range", "Bytes=0-24");
с:
urlConnection.setRequestProperty("Range", "bytes=0-24");
согласно спецификации 14.35.1 Диапазоны байтов
Аналогично, согласно спецификации 14.5 Accept-Ranges , вы также можете проверить, действительно ли ваш сервер поддерживает частичный поиск контента или не использует следующие:
boolean support = urlConnection.getHeaderField("Accept-Ranges").equals("bytes");
System.out.println("Partial content retrieval support = " + (support ? "Yes" : "No));
Если сервер поддерживает его (и серверы HTTP 1.1 должны), только тогда вы можете использовать запросы диапазона ... и если все, что вы хотите сделать, это проверить, то просто отправьте запрос HEAD вместо запроса GET. Те же заголовки, то же самое, просто «ГОЛОВА», а не «ПОЛУЧИТЬ». Если вы получите ответ 206, вы узнаете, что Range поддерживается, и в противном случае вы получите ответ 200.
"HEAD"
и получил код ответа 200. Это должно означать, что сервер не поддерживает функцию загрузки "Resuming"
. Затем, я хотел бы знать, как я могу «приостановить»? и "возобновление" этот файл загружается в других менеджерах загрузки. Кроме того, было бы здорово, если бы вы могли предложить любые HTTP-ссылки, часть контента которых может быть загружена с помощью этого метода.
– Jeffry Young
14 July 2013 в 23:03
Я думаю, что правильным заголовком является «Content-Range», а не «Range», как вы используете.
"Content-Range"
; получение same output
– Jeffry Young
14 July 2013 в 22:36