Как динамически изменить заголовок веб-страницы?

Надеюсь, это поможет. Я использовал библиотеку времени Joda.

public class RangeTimePicker extends TimePicker implements
        TimePicker.OnTimeChangedListener {

    private int mMinHour = -1;

    private int mMinMinute = -1;

    private int mMaxHour = 25;

    private int mMaxMinute = 61;

    private int mCurrentHour;

    private int mCurrentMinute;


    public RangeTimePicker(Context context) {
        super(context);
        setOnTimeChangedListener(this);
    }

    public RangeTimePicker(Context context, AttributeSet attrs) {
        super(context, attrs);
        setOnTimeChangedListener(this);
    }

    public RangeTimePicker(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setOnTimeChangedListener(this);
    }

    public void setMaxTime(int hourIn24, int minute) {
        mMaxHour = hourIn24;
        mMaxMinute = minute;

        LocalTime currentTime = LocalTime.now();
        LocalTime maxTime = new LocalTime(mMaxHour, mMaxMinute);

        if (currentTime.isAfter(maxTime)) {
            this.setCurrentHour(mCurrentHour = currentTime.getHourOfDay());
            this.setCurrentMinute(
                    mCurrentMinute = currentTime.getMinuteOfHour());
        }

    }

    public void setMinTime(int hourIn24, int minute) {
        mMinHour = hourIn24;
        mMinMinute = minute;

        LocalTime currentTime = LocalTime.now();
        LocalTime minTime = new LocalTime(mMinHour, mMinMinute);

        if (currentTime.isBefore(minTime)) {
            this.setCurrentHour(mCurrentHour = minTime.getHourOfDay());
            this.setCurrentMinute(mCurrentMinute = minTime.getMinuteOfHour());
        }
    }


    @Override
    public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
        boolean validTime = true;
        if (hourOfDay < mMinHour || (hourOfDay == mMinHour
                && minute < mMinMinute)) {
            validTime = false;
        }

        if (hourOfDay > mMaxHour || (hourOfDay == mMaxHour
                && minute > mMaxMinute)) {
            validTime = false;
        }

        if (validTime) {
            mCurrentHour = hourOfDay;
            mCurrentMinute = minute;
        }

        setCurrentHour(mCurrentHour);
        setCurrentMinute(mCurrentMinute);

    }
}
464
задан Paolo Forgia 9 August 2017 в 13:47
поделиться

8 ответов

Обновление : согласно комментариям и ссылке на SearchEngineLand большинство поисковых роботов индексирует обновленный заголовок. Ниже ответа является устаревшим, но норматив является все еще действующим.

можно просто сделать что-то как, document.title = "This is the new page title.";, но это полностью победило бы цель SEO. Большинство поисковых роботов не собирается поддерживать JavaScript во-первых, таким образом, они возьмут то, что в своей стихии как название страницы.

, Если Вы хотите, чтобы это было совместимо с большинством важных поисковых роботов, Вы испытываете необходимость для фактического изменения самого тега заголовка, который включил бы перезагрузку страницы (PHP, и т.п.). Вы не собираетесь быть способными обойти это, если Вы хотите изменить название страницы способом, которое видит поисковый робот.

671
ответ дан Darryl Hein 9 August 2017 в 23:47
поделиться
  • 1
    +1 для ответа CakePHP 2.x ($this->response->...), который может помочь текущим посетителям от Google, и т.д. (Для тех посетителей: ответы датировались, 2009 для кодовой базы CakePHP 1.x), – deizel 17 July 2012 в 01:09

Необходимо будет зарезервировать страницу с новым заголовком для любых поисковых роботов для замечания изменения. Выполнение его с помощью JavaScript только принесет пользу читателю, поисковые роботы не собираются выполнять тот код.

4
ответ дан Bryan Denny 9 August 2017 в 23:47
поделиться

Но для получения, SEO приличествует

, необходимо сделать перезагрузку страницы, когда страница изменяется так, чтобы поисковая система видела различные заголовки и т.д.

, Так удостоверьтесь, что работы перезагрузки страницы сначала затем добавляют изменения document.title

0
ответ дан Pbearne 9 August 2017 в 23:47
поделиться
  • 1
    Это отвечает на вопрос более точно, чем мой ответ. Однако, я думаю it' s полезный, чтобы быть в состоянии перенаправить пользователя к пользовательской странице в этом случае, it' s более хороший, чем пробел ' сервер ответил this' страница. – Adriano Varoli Piazza 10 July 2009 в 23:40

Используйте document.title.

См. эта страница для элементарного учебного руководства также.

36
ответ дан Gerold Broser 9 August 2017 в 23:47
поделиться
  • 1
    или перемещенный. Let' s говорят typeof(foo).Name или typeof(foo).Something, код является частью более крупной логики, и в какой-то момент Вы решаете, что логика лучше сделана в другом классе. Вы не заметите, что необходимо изменить это, потому что код все еще скомпилирует – Louis Rhys 17 February 2012 в 22:12

Я не вижу, как изменение названия страницы с помощью JavaScript поможет SEO. Большинство (или все) поисковые боты не запускают JavaScript и только прочитают первоначально загруженный заголовок, который является разметкой.

, Если Вы хотите помочь SEO, затем необходимо будет изменить название страницы в бэкенде и служить различным версиям страницы.

47
ответ дан Sarat 9 August 2017 в 23:47
поделиться

Один путь, который приходит на ум, который может помочь с SEO и все еще иметь Ваши вкладки, как они, состоял бы в том, чтобы использовать названные привязки, которые соответствуют каждой вкладке, как в:

http://www.example.com/mypage#tab1, http://www.example.com/mypage#tab2, etc.

у Вас должна была бы быть серверная обработка, чтобы проанализировать URL и установить начальное название страницы, когда браузер представляет страницу. Я также шел бы вперед и сделал бы ту вкладку "активной". После того как страница загружается, и фактический пользователь переключает вкладки, которые Вы использовали бы JavaScript для изменения document.title, как другие пользователи заявили.

2
ответ дан Rich 9 August 2017 в 23:47
поделиться

Код
document.title = 'test'

30
ответ дан MineCMD 9 August 2017 в 23:47
поделиться
  • 1
    Код копирования @LouisRhys не является действительно лучшим способом совместно использовать функциональность... – Marc Gravell♦ 17 February 2012 в 22:08

Используя document.title то, как Вы выполнили бы его в JavaScript, но как это, как предполагается, помогает с SEO? Боты обычно не выполняют код JavaScript, поскольку они пересекают через страницы.

10
ответ дан TheTXI 9 August 2017 в 23:47
поделиться
  • 1
    Все, для чего я использую это, должно Зарегистрировать исключительное поведение, таким образом, я могу жить с издержками использования Метода Отслеживания стека, поскольку выполнение (вероятно), прекратится после этого действия входа. – TK. 16 February 2009 в 19:24
Другие вопросы по тегам:

Похожие вопросы: