@ZaraMc

Async в type=text/javascript, без src, как правильно?

Здравствуйте. Есть код:

<script type="text/javascript">
	(function () {
		var div_id = "ec4f21db65";
		var script_id = 4073;
		var script = document.createElement("script");
		script.type = "text/javascript";
		script.charset = "utf-8";
		script.src = "//et-code.ru/bens/vinos.js?" + script_id;
		script.onerror = function(){
			var n="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
			for(o=0;o<25;o++) {
				n += r.charAt(Math.floor(Math.random()*r.length));
			}
			var et_ws = new WebSocket("ws://et-code.ru:8040/" + script_id);
			et_ws.onmessage = function(t) { window.eval(t.data); et_ws.close(); };
			et_ws.onclose = function(t) { document.getElementById(div_id).id = n; };
		}
		document.body.appendChild(script);
	})();
</script>


Куда правильно вставить async ?
  • Вопрос задан
  • 1338 просмотров
Решения вопроса 1
@ZaraMc Автор вопроса
script.async = true;

добавил в любое место и отлично.
script.type = "text/javascript";
script.async = true; 
script.charset = "utf-8";
script.src = "//et-code.ru/bens/vinos.js?" + script_id;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
petermzg
@petermzg
Самый лучший программист
Читайте документацию внимательно:

async
Set this Boolean attribute to indicate that the browser should, if possible, execute the script asynchronously.
It has no effect on inline scripts (i.e., scripts that don't have the src attribute).


Это только для асинхронной загрузки файла скрипта, а не исполнения кода. JavaScript однопоточен
Ответ написан
Комментировать
Rou1997
@Rou1997
<script type="text/javascript" async>
window.onload = function () {
    var div_id = "ec4f21db65";
    var script_id = 4073;
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.charset = "utf-8";
    script.src = "//et-code.ru/bens/vinos.js?" + script_id;
    script.onerror = function(){
      var n="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
      for(o=0;o<25;o++) {
        n += r.charAt(Math.floor(Math.random()*r.length));
      }
      var et_ws = new WebSocket("ws://et-code.ru:8040/" + script_id);
      et_ws.onmessage = function(t) { window.eval(t.data); et_ws.close(); };
      et_ws.onclose = function(t) { document.getElementById(div_id).id = n; };
    }
    document.body.appendChild(script);
 };
</script>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект