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

IT技术 javascript html
2021-03-16 23:00:29

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

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

简单地说,有没有像这样的代码

<script>window.StopWhateverBelow()</script>

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

更新

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

回答

正如 bukko 所建议的,评论成功了。但是没有满,只有一半如果你放在<!--html页面中,其余的将被忽略。在 Javascript 中

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

大功告成。

关于有意义:

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

6个回答

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

为什么需要为这些函数导入 jQuery?他们应该在没有 jQuery 的情况下工作。
2021-05-03 23:00:29

如果您的页面上已经有 html 评论,@bukko 的解决方案就不能完全奏效。html 注释之后的内容将正常呈现。

其他尝试是:

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

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

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


编辑

我已经看到这个script技巧在 Chrome 中不起作用。

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

document.write('<style type="text/undefined">')
与 IE 11 相同。脚本标签自动关闭
2021-05-02 23:00:29
非常有趣的 hack,但在某些情况下似乎也不适用于 MS Edge。在我的情况下,它的效果比window.stop();下面建议的更好(尽管很糟糕),因为使用stop,已经加载的元素会突然显示,这在重定向之前可能会非常刺耳。
2021-05-03 23:00:29
</script>任何尝试执行此操作后,浏览器(Chrome)都会自动关闭它
2021-05-17 23:00:29
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”使这两个代码在所有浏览器中都能完美运行。

嗯,有: <!-- terminated by --> 对于 HTML,但脚本将忽略这一点。

你问的没有逻辑意义。原因无外乎两个:

  • 数据已经发送给用户(HTML / JS),因此即使您可以隐藏内容,数据也会在那里供用户查看(例如,如果他们查看源代码)。
  • 为什么要停止“执行”页面?它加载简单的 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