【问题标题】:jquery: load/include html code into html file without delay?jquery:立即将html代码加载/包含到html文件中?
【发布时间】:2015-03-17 15:51:53
【问题描述】:

我正在开发一个使用 cordova 的移动应用程序,所以它基本上是一个在应用程序中运行的 html 网站。而且我有很多元素和 html 代码必须出现在所有页面上,例如导航还有弹出窗口等等。

在处理大型网络项目时,我通常将这些代码段包装在 php 文件中,并使用“php include”来创建我的 html 文件。但是在这里我不能使用 php,因为没有服务器。因此,由于我想避免在每个 html 文件中包含无数相同代码的副本,我正在寻找一种方法来使用 jquery 将 html 代码包含到 html 文件中?

我确实尝试过:

$("#includeContent1").load( "mod_navigation.html" );

和

$.get('mod_navigation.html', function(data) { $('body').append(data);});

两者都有效,不如 php,但成功了。问题是,在显示父 html 文件“之后”加载了附加内容(在本例中为导航),这使得导航只是稍微延迟弹出。这看起来很可怕,因为屏幕底部的导航在使用应用程序时一直闪烁。

有没有办法避免这些延迟?可能是在加载完 html 文件中的所有内容后跳转到新页面...或任何其他方式?

【问题讨论】:

    标签: java javascript jquery html


    【解决方案1】:

    你能不能试着在一个变量中创建整个 DOM,然后当所有的 HTML 代码都保存在变量中时,将它附加到正文中?说

    $("body").empty(); // clear all
    var content = "";
    /* start to create content here */
    $("body").append(content);
    

    虽然我不知道这有多快......

    干杯

    【讨论】:

      【解决方案2】:

      您不能使用页面上的 JavaScript 来预处理该页面的 HTML,因为它是文档的一部分,因此根据定义在文档加载后执行。 但是,您可以使用回调函数仅在新页面完全加载后显示它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-31
        • 1970-01-01
        • 2017-06-23
        • 2018-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多