如何在html静态页面中停止页面加载

时间:2012-01-20 14:50:13

标签: javascript html

是否有HTML(javascript)或其他静态HTML技术 可以:

  • 停止加载页面(如果浏览器尚未下载)
  • 停止页面呈现(放置代码的位置)
  • 停止执行javascript(从代码放置)

简单地说,是否有像

这样的代码
<script>window.StopWhateverBelow()</script>

让浏览器完全忽略代码下面的内容。

更新

我知道浏览器可能已经下载了整个内容。我想要的是,从代码中,页面应该停止,例如:如果我把代码放在<body>访问者之后应该看到空白页面,如果我把代码放在页面中间,页面应该只是一半就像你按 ESC

ANSWER

正如bukko建议的那样,评论完成了这个伎俩。但不完整,只有一半 如果您将<!--放在html页面中,其余部分将被忽略。并在Javascript

document.write('<!--');

完成技巧。

关于有意义:

以下是此代码的含义:当您加载一些offpage脚本时,脚本是动态的。当脚本代码发现错误(或匹配某些条件)时,您还有一个选项可以阻止页面呈现,加载,下载......

11 个答案:

答案 0 :(得分:50)

除了Internet Explorer之外,您可以为大多数浏览器执行window.stop();。对于IE,我必须使用document.execCommand('Stop');

答案 1 :(得分:20)

如果您的网页上已有html评论,@ bukko的解决方案无法完全发挥作用。 html注释后的内容将正常呈现。

要尝试的其他事情是:

document.write('<script type="text/undefined">')

文档的其余部分被解释为脚本标记的一部分,并且由于脚本不是text/javascript,因此会被忽略。

为我工作,以为我会分享它。


修改

我看到script技巧在Chrome中无效。

这确实有效,但我还没有进行过广泛的浏览器测试:

document.write('<style type="text/undefined">')

答案 2 :(得分:18)

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”使这两个代码在所有浏览器中都能完美运行。

答案 3 :(得分:5)

嗯,有:     <!-- terminated by --> 对于HTML,但脚本会忽略它。

答案 4 :(得分:3)

你所问的是没有逻辑意义的。原因有两个:

  • 数据已经发送给用户(HTML / JS),所以即使你可以隐藏内容,数据也会在那里供用户查看(如果他们查看源代码)。
  • 你为什么要停止执行&#39;一页?它加载简单的html结构并在可视化显示中进行结果,你应该专注于服务器站点(例如php)来隐藏或不首先发送内容。

如果你想在视觉上隐藏元素,可以使用CSS样式(隐藏div等),只需将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

答案 5 :(得分:3)

将window.Stop()放在任何想要阻止页面呈现的位置

答案 6 :(得分:1)

HTML是静态内容,因此服务器会读取您在文件中写入的内容,除非您将其注释掉。对于像你要求的动态文件,你需要使用php来做这类事情。

答案 7 :(得分:1)

与这个问题没什么关系,但我认为这可能对某些人有用。如果您想在页面加载期间跳转到其他页面,请使用window.location = "somepage.html";,或者您可以将用户重定向到上一页:window.history.go(-1);在JavaScript条件语句中有用

答案 8 :(得分:1)

如果您使用的是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 ;

所有这些脚本都发送了browserstring&#34; elementcast&#34;通过邮寄方法

答案 9 :(得分:1)

你也可以隐藏身体:

var style = document.createElement("style");
style.innerHTML="body { display:none !important; }";
document.getElementsByTagName("HEAD")[0].appendChild(style);

答案 10 :(得分:0)

stop方法可以破坏已经开始加载的东西。

如果您想加载某个点以上的所有内容并跳过某个点以下的所有内容:

<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');