2010-10-18 100 views
2

我需要在页面开始加载之前执行一个JavaScript?我该怎么做?首先我的脚本应该在脚本完成后执行,如果我需要我应该加载页面,否则我不会加载它。例如,如果我的脚本重定向到另一个页面,我不应该加载当前页面,否则我应该加载它。如何在dom准备好之前执行javascript?

+0

从您的评论下面,我猜测脚本首先执行,但页面的其余部分有第二个加载,而新的HTTP请求正在等待响应。也许你可以尝试在'

+0

这是一个坏主意,如果它是为了安全。所有内容都发送到计算机,任何观看流量或禁用JS的人都可以获取内容。 – epascarello 2010-10-18 13:53:27

+0

@epascarello - 是的,我们不知道最终目的是什么。我想这可能是一个简单的重定向到一个JavaScript增强页面。你是对的,如果考虑到安全性,这不是一个解决方案。但随后任何JavaScript解决方案都会通过禁用javascript来失败。 – user113716 2010-10-18 13:57:00

回答

3

简单的写在脚本标记你的脚本在body标签的第一元素:

- 更新 - 隐藏其他网页元素,以饱满的宽度和高度,使用DIV

,如果你想显示页面,隐藏div,这将解决问题

+0

是的,我做了...但它是页面加载后执行... – Ver 2010-10-18 13:41:54

+0

为隐藏页面,使用div全宽和高度,如果你想显示页面,隐藏div,这将解决问题 – 2010-10-18 13:47:52

0

脚本标记在遇到它们时立即执行。只需将脚本标签提前放好,然后在条件为真时使用重定向。挂钩window.onload事件处理程序是如何让JavaScript在加载时触发的。

+0

是我的脚本尽快执行...但它加载当前页面1秒,然后执行我的脚本... – Ver 2010-10-18 13:43:36

6

就做服务器端...

你目前的逻辑,似乎更适合在服务器端,如果你真的想完全避免页面加载..

+0

不知道,但我想这是重定向到JavaScript的版本的网页/网站。因此,这将取决于浏览器。 – user113716 2010-10-18 13:51:18

+0

@patrick,看起来这样..我的重点主要是**加载**部分,这是不可避免的...对于*渲染*有解决方法,确实.. – 2010-10-18 13:56:07

0

是否有可能您最初只提供一个页面,其中只包含需要在HTML文档中执行的JavaScript代码?然后您可以根据JavaScript的结果请求您想要的页面。

0

您可以使用jQuery load()方法有条件地加载页面的一部分,它在DOM准备好之前未运行脚本,但可能会实现您想要执行的操作。

1

您无法在加载页面之前运行脚本(不会搞乱文档类型),但可以在页面中尽早放置脚本,即在head部分。

在脚本完成之前,您无法停止加载页面。该页面将继续在后台加载,但在脚本完成之前不会渲染。

如果您在脚本中执行重定向,页面将停止加载,但是在等待新响应到达时已经加载的内容将会呈现。

+0

你的答案是非常有用的,但我看到谷歌正在做类似的事情,所以这些网址不断变化。我需要在我们的网站上做同样的事情。请让我知道是否有任何方式或框架来实现此目标..在此先感谢.. – 2012-12-12 09:13:30

+0

@DilipRajkumar:谷歌没有使用Javascript来重定向用户。 – Guffa 2012-12-12 10:08:10

+0

Ohh ok ..那我该怎么做到这一点..我有很多认证的html页面,如果他们没有通过身份验证,它必须重定向到登录页面..请帮助.. – 2012-12-12 10:28:00

相关问题