LINUX.ORG.RU

История изменений

Исправление theNamelessOne, (текущая версия) :

Может можно его просто как строку получить, а потом хеш этой строки взять?

Ну так сделай XHR-запрос, а потом считай sha1 от результата (правда, нужно, чтобы скрипт раздавался веб-сервером, а не брался из файловой системы).

index.html:

<html>
  <head>
    <meta charset="utf-8">
    <title>Tests</title>
    <script id="script" src="script.js"></script>
    <script src="sha1.js"></script>
  </head>
  <body>
    <h1 id="headline">Tests</h1>
    <script>
      const headline = document.getElementById('headline')

      fetch(document.getElementById('script').src)
        .then((res) => res.text())
        .then((res) => headline.textContent += ` (${Sha1.hash(res)})`)
    </script>
  </body>
</html>

script.js:

console.log('Script loaded')

sha1.js взят из первого результата гугловского запроса “javascript sha1”.

В результате после загрузки “#headline” поменяется на “Tests (b2e6a34c35dd2fd86cdea9dcf51e013fefb8b050)”.

PS. Надо будет ещё убедиться, чтобы запрос закешировался (зависит от настроек веб-сервера).

Исправление theNamelessOne, :

Может можно его просто как строку получить, а потом хеш этой строки взять?

Ну так сделай XHR-запрос, а потом считай sha1 от результата (правда, нужно, чтобы скрипт раздавался веб-сервером, а не брался из файловой системы).

index.html:

<html>
  <head>
    <meta charset="utf-8">
    <title>Tests</title>
    <script id="script" src="script.js"></script>
    <script src="sha1.js"></script>
  </head>
  <body>
    <h1 id="headline">Tests</h1>
    <script>
      const headline = document.getElementById('headline')

      fetch(document.getElementById('script').src)
        .then((res) => res.text())
        .then((res) => headline.textContent += ` (${Sha1.hash(res)})`)
    </script>
  </body>
</html>

script.js:

console.log('Script loaded')

sha1.js взят из первого результата гугловского запроса “javascript sha1”.

В результате после загрузки “#headline” поменяется на “Tests (b2e6a34c35dd2fd86cdea9dcf51e013fefb8b050)”.

PS. Надо будет ещё убедиться, чтобы запрос закешировался.

Исходная версия theNamelessOne, :

Может можно его просто как строку получить, а потом хеш этой строки взять?

Ну так сделай XHR-запрос, а потом считай sha1 от результата (правда, нужно, чтобы скрипт раздавался веб-сервером, а не брался из файловой системы).

index.html:

<html>
  <head>
    <meta charset="utf-8">
    <title>Tests</title>
    <script id="script" src="script.js"></script>
    <script src="sha1.js"></script>
  </head>
  <body>
    <h1 id="headline">Tests</h1>
    <script>
      const headline = document.getElementById('headline')

      fetch(document.getElementById('script').src)
        .then((res) => res.text())
        .then((res) => headline.textContent += ` (${Sha1.hash(res)})`)
    </script>
  </body>
</html>

script.js:

console.log('Script loaded')

sha1.js взят из первого результата гугловского запроса “javascript sha1”.

В результате после загрузки “#headline” поменяется на “Tests (b2e6a34c35dd2fd86cdea9dcf51e013fefb8b050)”.