Как остановить загрузку страницы в статической странице html
Есть ли в HTML (javascript) или другой статический html tech
могут:
- Остановить загрузку страницы (если браузер еще не загружен)
- Остановка рендеринга страницы (откуда размещен код)
- Остановить выполнение javascript (откуда размещен код)
Проще говоря, есть ли код типа
<script>window.StopWhateverBelow()</script>
Чтобы браузер полностью игнорировал все, что ниже кода.
UPDATE
Я понимаю, что браузер уже может загрузить все это. Я хочу, чтобы из кода страница остановилась, например: если я поместил код сразу после <body>
, посетитель должен увидеть пустую страницу, если я поместил код в середине страницы, страница должна быть наполовину наподобие вас нажата ESC
ANSWER
Как предположил bukko, комментарии сделали трюк. Но не полный, только половина
Если вы поместите <!--
в html-страницу, остальные будут проигнорированы. И в Javascript
document.write('<!--');
Сделал трюк.
Понятно:
Вот как этот код имеет смысл: когда вы загружаете страницу на какую-то страницу script, script является динамическим. Когда код script обнаружил что-то неправильное (или соответствует некоторому условию), у вас есть еще одна опция, чтобы остановить страницу от рендеринга, загрузки, загрузки...
Ответы
Ответ 1
Если у вас уже есть html-комментарии на вашей странице, решение @bukko работает не полностью. Материал после комментария html будет отображаться в обычном режиме.
Что-то еще попробовать:
document.write('<script type="text/undefined">')
Остальная часть документа интерпретируется как часть тега script, а поскольку script не text/javascript
, он игнорируется.
Работал для меня, думал, что я поделюсь им.
Edit
Я видел, как трюк script
не работает в Chrome.
Это действительно работает, но я не сделал обширного тестирования браузера:
document.write('<style type="text/undefined">')
Ответ 2
Вы можете сделать window.stop();
для большинства браузеров, кроме Internet Explorer. Для IE мне пришлось использовать document.execCommand('Stop');
Ответ 3
window.stop(); //works in all browsers but IE
if ($.browser.msie) {document.execCommand("Stop");}; //works in IE,
document.execCommand работает в IE, однако он останавливает некоторые функции FF, NS и некоторых других браузеров. Например, например, отображение анимации GIF. Используя "if browser is IE", эти два кода отлично работают во всех браузерах.
Ответ 4
Ну, есть: <!--
terminated by
-->
для HTML, но скрипты будут игнорировать это.
Ответ 5
То, что вы просите, не имеет логического смысла. Просто по двум причинам:
- Данные УЖЕ отправляются пользователю (HTML/JS), поэтому даже если вы МОЖЕТЕ скрыть контент, данные будут доступны для пользователя (если они, например, рассматривают исходный код).
- Почему вы остановите "выполнение" страницы? Он загружает простую структуру html и демонстрирует визуальный дисплей, вам следует сосредоточиться на сайте сервера (например, php), чтобы скрыть или не отправить контент в первую очередь.
Если вы хотите визуально скрыть элементы tho, вы можете использовать стили CSS (скрыть divs или тому подобное), просто добавив style="display:none;"
в div так:
<div style="display:none;">
This text will be downloaded by the user, but hidden from view due to CSS inline style
</div>
Если вы хотите добавить комментарий (это только для справки), используйте форматирование комментариев:
<!-- this is a comment and will not show up to a user -->
Ссылка на комментарии: http://htmlhelp.com/reference/wilbur/misc/comment.html
Ответ 6
поместите window.Stop(), где бы вы ни остановили страницу, получая рендеринг
Ответ 7
HTML - это статический контент, поэтому сервер читает все, что вы написали в файле, если вы его не прокомментируете. Для динамического файла, как то, что вы просите, вам нужно использовать php, который может делать этот тип вещей.
Ответ 8
Просто не так много связано с вопросом, но я подумал, что это может быть полезно для некоторых людей. Если вы хотите перейти на другую страницу во время загрузки страницы, используйте window.location = "somepage.html";
или вы можете перенаправить пользователей на предыдущую страницу: window.history.go(-1);
Полезно в условных операторах JavaScript
Ответ 9
Если вы используете ASP или PHP, протокол HTTP автоматически останавливается, но протокол HTTPS не останавливается автоматически.
Чтобы остановить его, используйте:
В ASP:
dim r= accept.secure.protocol
r.onload=window.callback('c')
//to firefox,opera,safari
new clientObject(r).access()
// to chrome,ie
forEachElement(a==null);
PHP-код:
$a.window ;
Все эти сценарии отправляют "elementcast" браузера методом post
Ответ 10
Вы также можете скрыть тело таким образом:
var style = document.createElement("style");
style.innerHTML="body { display:none !important; }";
document.getElementsByTagName("HEAD")[0].appendChild(style);
Ответ 11
Способы остановки могут разрушить вещи, которые уже начали загружаться.
Если вы хотите загрузить все выше определенной точки и пропустить все ниже определенной точки:
<p>Everything works above this point.</p>
<pre style="display: none !important;">
<p>As long as the PRE tag remains open,
nothing works below this point</p>
<script>document.write('Nope');