如何重用网页的某些部分(使用 div)?

发布于 2024-12-16 01:46:18 字数 176 浏览 2 评论 0原文

我有几个共享菜单区域的 HTML 页面。每次我更新菜单区域(例如,使用新的“突发新闻”)时,我都需要手动更新所有 10 个页面。

对于框架,它们都指向同一框架页面,因此我只需要更改一页。但有人告诉我框架很糟糕,我应该使用 div。有没有一种简单的方法可以用 div 来做到这一点? (最好没有 JQuery 或 Ajax)

I have several HTML pages that share a menu area. Every time I update the menu area (eg with new "breaking news") I need to update all 10 pages manually.

With frames, they all point to same frame page so I only need to change one page. But I was told frames are bad and I should use divs. Is there a simple way to do this with divs? (preferably without JQuery or Ajax)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

秋风の叶未落 2024-12-23 01:46:18

您可以使用iframe。它仍然是一个框架,但你会避免使用框架集索引页面,如果你将边框设置为 0 并且适合的内容,你甚至不会看到边框或滚动条,它的行为就像 div

<iframe style="border-width:0px;" src="news.html"/>

您应该使用固定的宽度和高度以避免滚动条。对我来说,这是解决您问题的最简单的“仅 html”解决方案。

You could use an iframe. It still is sort of a frame, but you would avoid a frameset-index-page and if you set borders to 0 and content that fits in you won't even see borders or scroll-bars and it will behave like a div

<iframe style="border-width:0px;" src="news.html"/>

You should use fixed width-heights though to avoid scrollbars. To me its the simplest "html-only"-solution to your problem.

难忘№最初的完美 2024-12-23 01:46:18

您可以使用 jQuery 的 load() 函数。

您必须将以下内容添加到每个页面的头部:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

然后,您必须在要加载内容的位置添加以下 DIV。

<div id="breakingNews"></div>
<script type="text/javascript" src="http://example.com/news.js"></script>

请务必编辑 news.js 文件的链接。

然后,您需要在服务器上创建 news.js,并添加以下代码:

$('#breakingNews').load('path/to/breakingnews.html');

有关 load() 的更多信息:
http://api.jquery.com/load/

You could use jQuery's load() function.

You'd have to add the following to the head of each of your pages:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>

Then you'd have to add the following DIV where you want the content to be loaded.

<div id="breakingNews"></div>
<script type="text/javascript" src="http://example.com/news.js"></script>

Be sure to edit the link to the news.js file.

Then you'd create the news.js on your server, and add the following code:

$('#breakingNews').load('path/to/breakingnews.html');

More about load():
http://api.jquery.com/load/

巾帼英雄 2024-12-23 01:46:18

这不是一个很好的解决方案,但如果您确实想要单点菜单定义,请将其包含在包含 setMenu 函数的脚本中,然后在每个页面的头部加载脚本并调用 setMenu 函数在每个页面的 body onload 上,然后将菜单设置为 div 的 innerHTML,该 div 专门作为菜单占位符包含在每个页面中。

Not the nice solution, but if you really want to have single point of menu definition, include it in the script which includes setMenu function and you load the script in every page's head and call a setMenu function on every page's body onload, which then sets the menu as innerHTML of the div that you include in every page specifically as a menu placeholder.

浅浅 2024-12-23 01:46:18

如果您试图避免动态生成内容的服务器端解决方案,则客户端模板可能是一个解决方案。

使用 ICanHaz.js 模板 http://icanhazjs.com/,您可以将 html 存储为对象。然后直接将它们作为 .js 文件包含,或者对它们发出 ajax 请求。

Client side templating may be a solution if you are trying to avoid server side solutions for dynamically generating your content.

Using ICanHaz.js templating, http://icanhazjs.com/, you could store your html as objects. Then either include them directly as .js files, or make ajax requests for them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文