HTML和Javascript执行顺序

HTML和Javascript执行顺序,javascript,html,Javascript,Html,我有一个将http流量重定向到https的网页 问题: 我已经将重定向javascript放在html主体上方。这是否意味着页面将在正文尝试加载之前被重定向 我正在努力使这段代码尽可能高效 欢迎任何建议。HTML页面从左到右、从上到下处理,除非有相反的具体说明 如果JavaScript没有封装在函数中或分配为回调,它将在随后的HTML之前运行。回答您的问题,是的,脚本将在其下面的所有内容之前执行。但是,如果禁用或不支持Javascript,则会出现问题 通常,我建议您使用服务器端重定向。如果您了

我有一个将http流量重定向到https的网页

问题:

我已经将重定向javascript放在html主体上方。这是否意味着页面将在正文尝试加载之前被重定向

我正在努力使这段代码尽可能高效


欢迎任何建议。

HTML页面从左到右、从上到下处理,除非有相反的具体说明


如果JavaScript没有封装在函数中或分配为回调,它将在随后的HTML之前运行。

回答您的问题,是的,脚本将在其下面的所有内容之前执行。但是,如果禁用或不支持Javascript,则会出现问题

通常,我建议您使用服务器端重定向。如果您了解PHP,这是一个简单的选择。如果您不这样做,并且这是在Apache托管服务器上的本地主机或外部服务器上,我想您可以使用一个Web主机的CPANEL,也可能允许您在不编辑任何内容的情况下执行此操作。例如,一些CPanel有一个自动重定向HTTP链接HTTPS的选项。如果您的CPANEL没有,我想您可以使用CPANEL提供的任何选项将每个HTTP页面重定向到HTTPS


如果你必须拥有最有效的选项,那就是.htaccess,尽管这也是最痛苦的,所以如果你有这些选项,我建议你使用CPANEL或PHP。

通过设置window.location.href,你告诉浏览器离开, 所以你在那之后拥有的一切都不会被处决。显然,如果您在css、其他脚本…之前有一些东西,它可能已经被处理过了

问题是,浏览器在开始执行它依赖于引擎的任何脚本之前,可能已经开始下载/解析其他资源

最好的方法是重定向服务器端以加快速度,除非逻辑必须在web应用程序中


如果您想提高效率,请使用服务器端重定向。这是否意味着页面将在正文尝试加载之前被重定向?是的,汉克斯·乔纳斯,我正在AWS ELB上主持我的网页。我已经尝试了大约一个星期让服务器端重定向正常工作,但似乎无法正常工作,所以这是我最后的选择。当解析器在head元素中遇到脚本标记时,解析器的可能副本将阻止主体呈现。
<head>
<script type="text/javascript">
    var loc = window.location.href+'';
    if (loc.indexOf('http://www.') == 0 && loc.indexOf('.com') > -1) {
        window.location.href = loc.replace('http://www.','https://www.');
    } else if (loc.indexOf('http://') == 0 && loc.indexOf('.com') > -1  && loc.indexOf('www.') == -1) {
        window.location.href = loc.replace('http://','https://www.');   
    }
</script>
</head>
<body>
   ...
</body>