使用jQuery包含公共代码?

时间:2012-03-14 12:02:33

标签: jquery html

我有一个简单的HTML导航栏,我不想为每个页面重新创建。我知道我可以简单地使用PHP来做到这一点,但有一种简单的方法可以使用jQuery吗?

如果是这样,这样做是否“腐败”?

3 个答案:

答案 0 :(得分:0)

如果你有一些生成导航栏的JavaScript代码 - 那么只需在你的标记中包含对该脚本的调用:

<script type="text/javascript" src="path_to_your_script"></script>

如果您不止一次包含此脚本,则用户浏览器很可能会缓存脚本,并在下次请求时从缓存中加载。

每次用户到达页面时,基本上所有HTML都会被“重新创建”。即使使用PHP,每次加载页面时都会执行代码。

<小时/> 如果用户已禁用JavaScript(不太可能,但仍有可能 shudder ),您可能希望实现一个后退系统,将您的jQuery导航栏交换为PHP生成的导航栏。为此你可以使用
<noscript>标记。

示例(taken from here)

<script type="text/javascript">
  document.write('<b>Hello Javascript World</b>');
</script>
<noscript>
  Hello World Without Javascript
</noscript>

答案 1 :(得分:0)

Javascript应该用于向现有元素添加功能。使用它来创建导航结构非常危险 - 如果用户禁用了javascript,用户将如何浏览您的网站?

我会将您的代码放在PHP包含文件中。

答案 2 :(得分:0)

在javascript中创建HTML非常简单(至少如果使用jQuery)并将其插入到包含.js文件的每个文档中,您只需要执行以下操作:

$('<div id="mydiv"><span>Hello World</span></div>').appendTo('somelement');

另一方面,除非有充分的理由,否则这样做是个坏主意,因为将HTML混合到您的javascript中会考虑不好的做法。 它会给没有JS问题的用户带来麻烦,因为现在动态插入元素,并且必须相应地设置事件和监听器,这会给你带来更多问题!