Подтвердить что ты не робот

Как установить href на странице в Javascript?

Я хочу установить атрибут href на основе страницы в Javascript, основанный на текущем имени хоста. Я создал HTML-страницы, которые можно просмотреть на разных именах хостов, что означает, что генерация базового тега href будет работать в одном имени хоста, но будет неправильным в другом.

4b9b3361

Ответ 1

Правильный способ сделать это - сделать document.write тега на основе текущего имени хоста:

Правильный:

<script type="text/javascript">
document.write("<base href='http://" + document.location.host + "' />");
</script>

Этот метод дал правильные результаты в IE, FF, Chrome и Safari. Это дает (правильный) другой результат, чем выполнение следующих действий:

Неправильно:

<script type="text/javascript">
var newBase = document.createElement("base");
newBase.setAttribute("href", document.location.hostname);
document.getElementsByTagName("head")[0].appendChild(newBase);
</script>

Ответ 2

Я думаю, вам лучше сделать это так.

    <script type="text/javascript">
        document.head.innerHTML = document.head.innerHTML + "<base href='" + document.location.href + "' />";
    </script>

Поскольку location.hostname не возвращает корень контекста приложения! Вы также можете зарегистрировать document.location на консоли console.log, чтобы просмотреть все доступные метаданные на document.location.

Ответ 3

document.write( "");

<script>
document.write("<base href='"+ window.location.protocol +'//' + window.location.host + "' >");
</script>