Как добавить просто crossorigin к тегу <script>? - PullRequest
0 голосов
/ 19 мая 2018

Как я могу добавить только перекрестное происхождение к следующему тегу <script>?

Цель состоит в том, чтобы добавить только перекрестное происхождение, но не добавлять атрибуты anonymous или use-credentials.

Токовый выход:

<li><div id="somevalue"><script type="text/javascript" async src="some-source"></script></div></li>

Желаемый выход:

<li><div id="somevalue"><script type="text/javascript" crossorigin async src="some-source"></script></div></li>

(function() {
  var scriptTag = document.createElement('script');
  scriptTag.type="text/javascript";
  scriptTag.async=true;
  scriptTag.src="some-source";
  
  var divTag = document.createElement('div');
  divTag.id='somevalue';
  divTag.append(scriptTag);
  
  var liTag = document.createElement('li');
  liTag.append(divTag);
  
  var ulList = document.getElementById('footer-menu');
  ulList.append(liTag);
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul class="menu" id="footer-menu">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>

1 Ответ

0 голосов
/ 19 мая 2018

Просто используйте setAttribute:

(function() {
  var scriptTag = document.createElement('script');
  scriptTag.type="text/javascript"
  scriptTag.async=true
  scriptTag.setAttribute('crossorigin','anonymous')
  scriptTag.src="some-source";

  console.log(scriptTag);
})();

Кстати, атрибут crossorigin не должен быть пустым: https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes

...