Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在页面加载之前执行Javascript_Javascript_Jquery_Html - Fatal编程技术网

在页面加载之前执行Javascript

在页面加载之前执行Javascript,javascript,jquery,html,Javascript,Jquery,Html,我遇到了一个问题,导航栏是javascript和一些jquery,我使用了一些代码尝试在查看页面之前加载导航栏,但似乎找不到正确的代码。实现这一点的正确方法是什么?将脚本包含到中,这可能会有所帮助。但是,在启动任何JS之前,都必须加载DOM。据我所知,在页面启动之前,没有办法真正加载HTML。您应该使用JQUERY事件等待工具栏的显示,直到它被加载。或者只需在工具栏上设置“display:none”,然后在添加所有效果后使用window.onload事件显示工具栏。加载页面时,脚本将执行 <

我遇到了一个问题,导航栏是javascript和一些jquery,我使用了一些代码尝试在查看页面之前加载导航栏,但似乎找不到正确的代码。实现这一点的正确方法是什么?

将脚本包含到
中,这可能会有所帮助。但是,在启动任何JS之前,都必须加载DOM。

据我所知,在页面启动之前,没有办法真正加载HTML。您应该使用JQUERY事件等待工具栏的显示,直到它被加载。或者只需在工具栏上设置“display:none”,然后在添加所有效果后使用window.onload事件显示工具栏。

加载页面时,脚本将执行

<script type="text/javascript">
    window.onload=body_load;

    function body_load()
    {

    dosomethingwithelementA();

    }

    </script>

    <div id="A"></div>

有几件事可以帮上忙:

  • 标记放在导航元素的正下方,对于jQuery代码,不要使用
    $(document).ready(function()){
    wrapper,BC,它将延迟执行页面加载所需的时间。
    或者,与其等待整个文档准备就绪,实际上没有什么可以阻止您执行类似于
    $('#navContainer').ready(function(){
    ,以便在加载导航元素后立即执行jQuery位

  • 也就是说,您无法真正确定何时加载什么,这有点超出您的控制范围,然后在完成需要首先完成/查看的操作后,使用JavaScript删除该属性。缺点:与往常一样:禁用JS的浏览器根本看不到任何内容。啊,好吧,去他们的

  • 还有更详细的答案。例如:为页面提供一个空的content div,只提供导航并绑定
    onload
    $(doc)。准备好
    事件以ajax调用获取站点的实际内容。但在我看来,这是一种近乎疯狂的解决方法


  • 选择上面的任何一个选项,或者将它们一起使用

    显示您的代码。在javascript执行之前,不必加载DOM。在javascript与DOM交互之前,必须加载DOM,但这并不等同于根本不执行。他正试图通过菜单查询-如果没有DOM,该如何工作准备好了吗?我相信问题不在于如何将JS执行推迟到整个页面加载之后,而在于如何真正防止页面加载,直到JS与导航元素交互为止。这段代码没有做任何这些事情,但是Elias是安静的,对吧。我希望页面等到JS加载完毕n在JS加载后调用页面主体。
    $(document).ready(function()
    {
        dosomethingwithelementA();
    
    });