2012-06-28 24 views
6

Tôi có một thời gian thực sự khó khăn tìm kiếm điều này, bởi vì tôi không có ý tưởng làm thế nào để gọi nó.Lặp lại cùng một mã HTML trong một số trang

Tôi sẽ cố gắng mô tả quá trình tôi muốn và xem liệu có ai trong số các bạn biết một trình chỉnh sửa như vậy hay không. Tôi có một trang web có cùng thành phần html được lặp lại trong đó, ví dụ như một trình đơn. Tôi có thể định nghĩa trình đơn trông như thế nào với css, nhưng tôi không thể (theo như tôi biết) thêm cùng một mẩu html vào mọi trang html với một dòng đơn giản. Điều tôi làm là sao chép thực đơn đến mọi nơi. Nếu tôi thay đổi menu, tôi cần làm lại tất cả. Tôi biết điều này có thể đạt được bằng cách sử dụng một máy chủ động, với một cái gì đó như php hoặc jsp, nhưng tôi không cần nó là năng động.

Tôi đã tự hỏi liệu có cách nào để làm điều này không. Tôi nghĩ có thể có một trình soạn thảo, nơi tôi có thể chỉnh sửa html bằng cách sử dụng, sau đó "biên dịch" các html sau khi sửa đổi để tạo ra các html tôi sẽ thay thế trên máy chủ của mình.

Cảm ơn

+1

bạn có thể đạt được nó bằng jQuery '.load() 'chức năng. Nhưng tôi đoán bạn không tìm kiếm các giải pháp dựa trên jQuery. –

+3

Đây là những gì PHP dành cho. Việc nội dung có động hay không không quan trọng. Chỉ cần viết trình đơn một lần, và sau đó bao gồm nó với PHP bất cứ khi nào bạn cần nó. –

+0

Tôi nghĩ bạn đang nhìn vào khuôn mẫu, và tôi nghĩ dreamweaver có loại tính năng này? –

Trả lời

4

Có một cái nhìn tại server side includes ... tạo ra một trang menu.shtml và sau đó bao gồm nó như vậy:

<!--#include virtual="/menu.shtml" --> 

của nó được hỗ trợ bởi hầu hết các máy chủ web out of the box (bao gồm IIS, Apache và lighttpd)

0

Bạn có thể viết một chút đơn giản của js trong một tập tin bên ngoài và sau đó gọi nó trong mỗi trang để tự động load menu. Sau đó bạn có thể chỉnh sửa menu bằng cách chỉnh sửa tệp JS. tất cả những gì bạn cần làm sau đó bao gồm trong html và sử dụng document.getElementById ("menu"). innerHTML = menuHTML; trong đó menuHTML là một biến chứa mã HTML thuần túy của trình đơn. Sau đó bạn có thể bao gồm các tập tin JS và gọi nó trong onload cơ thể

1

Bạn đã nghe nói về MasterPage Concept

Các liên kết dưới đây sẽ cung cấp cho bạn một sự khởi đầu nhanh chóng

trang chính là các trang mà sẽ đóng vai trò như một khung cho tất cả các trang khác. Bạn phải viết nó chỉ một. Và mỗi trang đang đến dưới đó, sẽ phải bao gồm trang chính. Đó là tất cả!

0

bạn có thể làm điều này với jquery

Giả sử bạn có page1.html page2.html, vv

bạn muốn trong mỗi một trong các trang contactinfo của bạn. Bạn có thể tạo một tệp có tên "info.txt". Tại chỗ bạn muốn thông tin liên hệ này, bạn đặt một div. như trong ví dụ này

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    </head> 
    <body> 
    <!-- page content --> 
    <div id="contact"></div> 
    </body> 
</html> 




<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 

<script> 
$(document).ready(function(){ 
     $("#contact").load("info.txt"); 
    ; 
}); 
</script> 

Dù bạn đặt trong 'info.txt' sẽ được đưa vào vị trí của bạn đặt được