@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 ?
  • Вопрос задан
  • 1317 просмотров
Решения вопроса 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>
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы