Виджет Twitter не позволит мне изменить URL - PullRequest
0 голосов
/ 15 ноября 2018

Я встроил виджет Twitter в HTML.У меня есть объект JS, который содержит URL-адреса 10 профилей Twitter.Я хочу сделать функцию, которая позволила бы мне заменить текущий URL (в виджете) на другой из объекта.Однако при запуске скрипта href не изменится (ошибка скажет, что он нулевой).

Может ли Twitter предотвратить какие-либо изменения href или других тегов внутри класса HTML?

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>

  <p>
    <a class="twitter-timeline" id="twitter" data-width="300" data-height="500" href="https://twitter.com/Tesla"></a>
  </p>

  <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

  <button onclick="change()">Change link</button> <button onclick="check()">Preview link</button>

  <script>
    var URL = document.getElementById("twitter").href;
    console.log(URL);

    function change() {
      alert(document.getElementById("twitter").href = "https://twitter.com/IBMref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor");
    }

    function check() {
      console.log(document.getElementById("twitter").href);
    }
  </script>


</body>

</html>

1 Ответ

0 голосов
/ 15 ноября 2018

Все изменилось, вы только что вызвали оповещение о самом изменении.

var URL = document.getElementById("twitter").href;
console.log(URL);

function change() {
  document.getElementById("twitter").href = "https://twitter.com/IBM?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor";
  alert(document.getElementById("twitter").href);
}

function check() {
  console.log(document.getElementById("twitter").href);
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</head>

<body>
  <p>
    <a class="twitter-timeline" id="twitter" data-width="300" data-height="500" href="https://twitter.com/Tesla"></a>
  </p>
  <button onclick="change()">Change link</button>
  <button onclick="check()">Preview link</button>
</body>

</html>
...