Javascript 如何在html静态页面中停止页面加载
是否有HTML(javascript)或其他静态HTML技术 可以:Javascript 如何在html静态页面中停止页面加载,javascript,html,Javascript,Html,是否有HTML(javascript)或其他静态HTML技术 可以: 停止页面加载(如果浏览器尚未下载) 停止页面呈现(从代码放置的位置) 停止执行javascript(代码所在位置) 简单地说,有这样的代码吗 <script>window.StopWhateverBelow()</script> window.StopWhateverBelow() 让浏览器完全忽略代码下面的内容 更新 我知道浏览器可能已经下载了全部内容。我想要的是,从代码开始,页面应该停止,例
- 停止页面加载(如果浏览器尚未下载)
- 停止页面呈现(从代码放置的位置)
- 停止执行javascript(代码所在位置)
<script>window.StopWhateverBelow()</script>
window.StopWhateverBelow()
让浏览器完全忽略代码下面的内容
更新
我知道浏览器可能已经下载了全部内容。我想要的是,从代码开始,页面应该停止,例如:如果我把代码放在
访问者应该看到空白页面的后面,如果我把代码放在页面的中间,页面应该像你按下的ESC
回答
正如bukko所说,评论起了作用。但不是满的,只有一半
如果你把放好,有:
对于HTML,但脚本将忽略这一点。HTML是静态内容,因此服务器将读取您在文件中写入的内容,除非您将其注释掉。对于一个动态文件,比如你所要求的,你需要使用php来做这类事情。你所要求的没有逻辑意义。原因有二:
- 数据已经发送给用户(HTML/JS),所以即使您可以隐藏内容,数据也会在那里供用户查看(例如,如果他们查看源代码)
- 为什么要停止“执行”页面?它加载简单的html结构并以可视化方式显示,您应该首先关注服务器站点(例如php)以隐藏或不发送内容
如果您想直观地隐藏元素tho,您可以使用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>
此文本将由用户下载,但由于CSS内联样式而无法查看
如果要添加注释(仅供参考),请使用注释格式:
<!-- this is a comment and will not show up to a user -->
注释参考:您可以执行window.stop()代码>适用于除Internet Explorer之外的大多数浏览器。对于IE,我必须使用document.execCommand('Stop')代码>如果您的页面上已经有html注释,@bukko的解决方案无法完全工作。html注释之后的内容将正常呈现
另一种尝试是:
document.write('<script type="text/undefined">')
将window.Stop()放在要停止渲染页面的任何位置
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”可以使这两个代码在所有浏览器中都能完美工作。只是与这个问题关系不大,但我认为它可能对某些人有用。如果您想在页面加载期间跳转到其他页面,请使用window.location=“somepage.html”
或者您可以将用户重定向到上一页:window.history.go(-1)代码>在JavaScript条件语句中非常有用如果使用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 ;
所有这些脚本都通过post方法发送browserstring“elementcast”您也可以像这样隐藏正文:
var style = document.createElement("style");
style.innerHTML="body { display:none !important; }";
document.getElementsByTagName("HEAD")[0].appendChild(style);
停止方法可以中断已经开始加载的内容
如果要加载高于某个点的所有内容,并跳过低于某个点的所有内容:
<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');
在这一点之上,一切都会起作用
只要预标签保持打开状态,
在这一点之下没有任何东西起作用
文件。写('Nope');
这没有任何意义。您想做什么?您是否要求能够添加评论,而不让普通访客看到?阻止浏览器解释任何东西都没有意义…@LoïsDiQual这种负面评论是不合适的。我刚刚偶然发现了一个很好的使用案例(5年多之后!),我很高兴这个问题得到了很好的回答,而不是因为有点不寻常而被否决。如果你想构建动态页面,还有其他选择,不仅仅是phpWhy,你需要为这些功能导入jQuery吗?它们应该在没有jQuery的情况下工作。浏览器(Chrome)在尝试使用IE 11执行相同操作后,会自动使用
关闭它。脚本标记会自动关闭Pretty fun hack,但在某些情况下在MS Edge中似乎不起作用。在我的例子中,这比建议的,window.stop()效果更好下面的代码>(depsite被黑客攻击),因为使用stop
,已经加载的元素会突然显示,这在重定向之前可能会非常不和谐。使用此选项,页面仍将呈现,无论显示时间有多短。
var style = document.createElement("style");
style.innerHTML="body { display:none !important; }";
document.getElementsByTagName("HEAD")[0].appendChild(style);
<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');