jquery:加载/包含html代码到html文件没有延迟?

时间:2015-03-17 15:51:53

标签: java javascript jquery html

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

在处理较大的webprojects时,我通常将这些代码段包装在php文件中并使用" php include"创建我的html文件。但是,由于没有服务器,我无法使用php。因此,我想避免在每个html文件中使用相同代码的无数副本,我正在寻找一种方法将html代码包含到使用jquery的html文件中吗?

我确实尝试过:

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

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

两者都工作,没有php那么好,但是做到了。问题是,附加内容(在这种情况下是导航)正在加载""显示父html文件,导致导航只是略有延迟弹出。这看起来很可怕,因为屏幕底部的导航只是在使用应用程序时保持闪烁。

有没有办法避免这些延误?也许是在加载了html文件中的所有内容之后跳转到新页面......或者其他任何方式?

2 个答案:

答案 0 :(得分:0)

你可以尝试在变量中创建整个DOM,并且当所有HTML代码保存在变量中时将它附加到正文中吗?说

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

Althoug我不知道这有多快......

干杯

答案 1 :(得分:0)

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