Jump to content

Не загружать страницу без Javascript


Recommended Posts

Есть вопрос? Задай его профессиональным веб-мастерам, SEO и другим специалистам!

 

 

А чем <noscript>У вас Выключен javascript</noscript> не устраивает такой вариант ?

 

в этом варианте я так понимаю просто будет текст ошибки показывать если нет JS при этом загрузиться весь остальной HTML?

Link to post
Share on other sites
  • VIP

мне надо вообще html или body не грузить полностью

 

нет JS - досвидос. как-то так

Вы уж здесь перегнули палку и конкретно. Пользователь решает сам каким вариантом браузера пользоваться, с включенным JS или отключенным. А вы желаете управлять пользователем, ставя ему условия, которые не имеете права устанавливать.

Если копать глубже, то можно делать выводы, которые будут не в вашу пользу.

Link to post
Share on other sites

Как вариант вижу index.html сделать <p>Для корректной работы нужен Javascript</p> и прописать редирект window.location="http://www.sites.com/index2.html"

Если javascript включен редирект будет на index2.html и там все смотрит, а если нет то увидеть, что нужен Javascript и редиректа не будет, ну или ничего в теге <p> не пишите и будет пустая страница.

 

Или вариант http://php.net/manual/en/function.get-browser.php

 

функция посмотрите, что возвращает Массив [javascript] => 1

 

Я думаю в этом направлении копайте.

Link to post
Share on other sites

в этом варианте я так понимаю просто будет текст ошибки показывать если нет JS при этом загрузиться весь остальной HTML?

 

Да всё правильно, ну ошибки не будет - будет надпись, что между тегами noscript написано.

Link to post
Share on other sites

Как вариант вижу index.html сделать <p>Для корректной работы нужен Javascript</p> и прописать редирект window.location="http://www.sites.com/index2.html"

Если javascript включен редирект будет на index2.html и там все смотрит, а если нет то увидеть, что нужен Javascript и редиректа не будет, ну или ничего в теге <p> не пишите и будет пустая страница.

так и думал сделать, надеялся что есть более красивое решение)

Link to post
Share on other sites

Вы уж здесь перегнули палку и конкретно. Пользователь решает сам каким вариантом браузера пользоваться, с включенным JS или отключенным. А вы желаете управлять пользователем, ставя ему условия, которые не имеете права устанавливать.

Если копать глубже, то можно делать выводы, которые будут не в вашу пользу.

 

у меня на JS куча проверок стоит и защиты, не хочу чтобы без JS лазили по сайту

 

элементарно выделение текста, ну не хочу я чтобы на моем сайте выделяли и копировали текст, это мое лично право, кому не нравится может идти на следующий сайт :)

Link to post
Share on other sites

так и думал сделать, надеялся что есть более красивое решение)

 

Согласен тот вариант больше на костыль походит. Но в такой задачи вряд ли разумное решение будет. Редкие случаи.

Попробуйте с функцией get_browser() поиграться возможно будет красивое решение. К примеру $x =  get_browser(null); if (!$x->javascript) exit;

Link to post
Share on other sites

в общем сделал вот так стилями

<style>

body {display: none}

</style>

 

и скриптом 

 

<script>
$(document).ready(function() {
 
$("body").css("display", "none");
 
    $("body").fadeIn(500);
</script>
 
таким образом, если JS включен то body покажется, если JS отключен, то body останется display:none
Link to post
Share on other sites
  • VIP

1.Вариант с get_browser() шаред хостинге может не проканать, так как в php.ini должен быть прописан путь к php_browscap.ini, который не всегда есть.,

2. Простым способом (без перезагрузки страницы) не сделать, так как сначала идет обработка PHP, а только потом уже всего остального. Обычно делают сохранение в сессию, потом чтение сессии с добавкой GET запроса, что "искажает" URL страницы, типа index.php?js=on

3. Как вариант использовать JS, который загружает страницу прописанную (аля AJAX). Так пробовал один раз, причем я знал какую страницу грузить в точности. Если у Вас стоит какой-нибудь движок, то тут могут быть проблемы.

4. Решение Transformer решит проблему, но это больше отпугнет новичков. Кому надо, тот быстро решит проблему. Причем, неизвестно, как к этому отнесутся ПС.

Link to post
Share on other sites
  • VIP

Как вариант  :)

<!DOCTYPE html>
<html id="nojs" lang="ru">
<head>
        <script>document.documentElement.id = "js"</script>
        <style>
                #js .mess {
                        display: none;
                }
        </style>
</head>
<body>
        <div class="mess">
                Включи JS, а то я за себя не ручаюсь, век воли не видать!
        </div>
</body>
</html>

Похожее решение, что с CSS.

Link to post
Share on other sites

1.Вариант с get_browser() шаред хостинге может не проканать, так как в php.ini должен быть прописан путь к php_browscap.ini, который не всегда есть.,

2. Простым способом (без перезагрузки страницы) не сделать, так как сначала идет обработка PHP, а только потом уже всего остального. Обычно делают сохранение в сессию, потом чтение сессии с добавкой GET запроса, что "искажает" URL страницы, типа index.php?js=on

3. Как вариант использовать JS, который загружает страницу прописанную (аля AJAX). Так пробовал один раз, причем я знал какую страницу грузить в точности. Если у Вас стоит какой-нибудь движок, то тут могут быть проблемы.

4. Решение Transformer решит проблему, но это больше отпугнет новичков. Кому надо, тот быстро решит проблему. Причем, неизвестно, как к этому отнесутся ПС.

 

Я поэтому и дал ссылка на документацию там как раз и прописано это. Мне кажется письмом в поддержку хостинга можно решить проблему. Обычно это решаемо :)

 

У меня единственный вопрос как к этому отнесутся поисковые системы. 

Link to post
Share on other sites
  • VIP

 

 


У меня единственный вопрос как к этому отнесутся поисковые системы. 

А как они отнесутся? Бот с включенным JS лазает по сайту :-) Они уже Аякс даже научились "кушать".

Link to post
Share on other sites

Из Вконтакта простой пример:

<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>

Редиректит на страницу https://vk.com/badbrowser.php

Поисковики нормально всё кушают, сейчас уже много сайтов, которые не пускают с выключенным JS или хотя-бы предупреждают, что сайт может работать некорректно.

Link to post
Share on other sites
  • Модератор

Из Вконтакта простой пример:



<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>

Редиректит на страницу https://vk.com/badbrowser.php

Поисковики нормально всё кушают, сейчас уже много сайтов, которые не пускают с выключенным JS или хотя-бы предупреждают, что сайт может работать некорректно.

Все гениальное - простое!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...