Hướng dẫn include trong html - bao gồm trong html

Hướng dẫn include trong html - bao gồm trong html

Đã đăng vào thg 6 21, 2019 4:18 SA 0 phút đọc 0 phút đọc

Điều cực kỳ đáng ngạc nhiên với tôi là HTML chưa bao giờ có cách nào để include các tệp HTML khác. Một ví dụ kinh điển: include phần header & footer vào trong trang.

...
<body>
   <include src="./header.html"></include>

   Your content here

   <include src="./footer.html"></include>
</body>
...

Nhân tiện, đoạn code trên chỉ là giả tưởng. Tôi ước một ngày nó trở thành hiện thực. Vậy thì để giải quyết bài toán include HTML thì sẽ có các cách sau:

Sử dụng PHP

...
<body>
   <?php include "./header.html" ?>

   Your content here

   <?php include "./footer.html" ?>
</body>
...

Sử dụng Gulp

...
<!-- HTML -->
<body>
   @@include('./header.html')

   Content

   @@include('./footer.html')
</body>
...

Gulp có rất nhiều processors có thể xử lý việc này. Một trong số đó là gulp-file-include.

// Javascript
var fileinclude = require('gulp-file-include'),
  gulp = require('gulp');
 
gulp.task('fileinclude', function() {
  gulp.src(['index.html'])
    .pipe(fileinclude({
      prefix: '@@',
      basepath: '@file'
    }))
    .pipe(gulp.dest('./'));
});

Sử dụng Grunt

Plugin grunt-bake sẽ giúp bạn xử lý việc include HTML

Javascript

grunt.initConfig({
    bake: {
        your_target: {
            files: {
                "dist/index.html": "app/index.html",
            }
        }
    }
});

HTML

...
<body>
   <!--(bake header.html)-->

   Content

   <!--(bake footer.html)-->
</body>
...

Sử dụng Pug

https://pugjs.org/

...
body
   include ./header.html"

   p Content

   include ./footer.html"

...

All rights reserved

đọc dữ liệu hộ bố

hùng đẹp trai

tôi thích vậy đó

ahihi đồ ngốc trương thanh hùng nè
Đây là 1 ví dụ cụ thể mà bạn thường gặp phải khi code html: 

đọc dữ liệu hộ bố

hùng ebudezain


...
<body>
   <include src="./header.html"></include>

   Content

   <include src="./footer.html"></include>
</body>
...

đọc dữ liệu hộ bố

hùng đẹp trai

đọc dữ liệu hộ bố

hùng ebudezain

hùng ebudezain

hùng ebudezain

hùng ebudezain

đọc dữ liệu hộ bố

ahihi đồ ngốc trương thanh hùng nè

hùng đẹp trai

ahihi đồ ngốc trương thanh hùng nè

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

Ngoài ra gulp còn có thể biên dịch được cả sass, es6 😄 quá ngon luôn.

tôi thích vậy đó

tôi thích vậy đó

hùng đẹp trai

Giả sử bạn có html như sau: 
<body>
  
  <header></header>
  
  Content.
  
  <footer></footer>

</body>

tôi thích vậy đó

hùng đẹp trai

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

tôi thích vậy đó

hùng đẹp trai

ahihi đồ ngốc trương thanh hùng nè

hùng đẹp trai

hùng đẹp trai

fetch("./header.html")
  .then(response => {
    return response.text()
  })
  .then(data => {
    document.querySelector("header").innerHTML = data;
  });

fetch("./footer.html")
  .then(response => {
    return response.text()
  })
  .then(data => {
    document.querySelector("footer").innerHTML = data;
  });

hùng ebudezain

hùng đẹp trai

hùng ebudezain

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

hùng ebudezain

đọc dữ liệu hộ bố

hùng đẹp trai

hùng ebudezain

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

Ngoài ra gulp còn có thể biên dịch được cả sass, es6 😄 quá ngon luôn.

hùng ebudezain

tôi thích vậy đó

đọc dữ liệu hộ bố

ahihi đồ ngốc trương thanh hùng nè

tôi thích vậy đó

hùng ebudezain

...
<body>
   <?php include "./header.html" ?>

   Your content here

   <?php include "./footer.html" ?>
</body>
...
0

ahihi đồ ngốc trương thanh hùng nè

hùng đẹp trai

hùng đẹp trai

đọc dữ liệu hộ bố

hùng ebudezain

hùng ebudezain

đọc dữ liệu hộ bố

hùng ebudezain

tôi thích vậy đó

hùng ebudezain

hùng ebudezain

hùng ebudezain

đọc dữ liệu hộ bố

hùng ebudezain

tôi thích vậy đó

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

hùng ebudezain

ahihi đồ ngốc trương thanh hùng nè

hùng ebudezain

đọc dữ liệu hộ bố

ahihi đồ ngốc trương thanh hùng nè

hùng ebudezain

đọc dữ liệu hộ bố

tôi thích vậy đó

đọc dữ liệu hộ bố

hùng đẹp trai

...
<body>
   <?php include "./header.html" ?>

   Your content here

   <?php include "./footer.html" ?>
</body>
...
1

hùng ebudezain

đọc dữ liệu hộ bố

...
<body>
   <?php include "./header.html" ?>

   Your content here

   <?php include "./footer.html" ?>
</body>
...
2

hùng ebudezain

hùng ebudezain

hùng ebudezain

đọc dữ liệu hộ bố

Ngoài ra gulp còn có thể biên dịch được cả sass, es6 😄 quá ngon luôn.
MẶt khác, Sẽ rất "tuyệt vời" nếu đứa khác clone html của bạn về mà còn phải config 1 nùi mới chạy được. Như thế nó chắc sẽ vui lắm 😄 

hùng đẹp trai

đọc dữ liệu hộ bố

Ngoài ra gulp còn có thể biên dịch được cả sass, es6 😄 quá ngon luôn.

ahihi đồ ngốc trương thanh hùng nè

tôi thích vậy đó

hùng ebudezain

hùng đẹp trai


CodeKit có 90% giống HTML. nó là công cụ để build html mà không cần config. Khuyết điểm là chỉ có trên máy mac 😄 Thử nghĩ xem nếu công ty bạn có 1 đứa xài windows chắc nó đấm bạn không trượt phát lào. 

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

tôi thích vậy đó

5. IQ 110 - Xài Dreamweaver

ahihi đồ ngốc trương thanh hùng nè

hùng thông minh lắm

hùng ebudezain

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 
MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

hùng ebudezain

ahihi đồ ngốc trương thanh hùng nè

hùng thông minh lắm

hùng ebudezain

ahihi đồ ngốc trương thanh hùng nè

hùng đẹp trai

hùng thông minh lắm

...
<body>
   <?php include "./header.html" ?>

   Your content here

   <?php include "./footer.html" ?>
</body>
...
3

hùng đẹp trai

hùng ebudezain

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

hùng đẹp trai

hùng ebudezain

hùng thông minh lắm

đọc dữ liệu hộ bố

đọc dữ liệu hộ bố

hùng ebudezain

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

ahihi đồ ngốc trương thanh hùng nè

hùng thông minh lắm

hùng thông minh lắm

hùng ebudezain

đọc dữ liệu hộ bố

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

hùng thông minh lắm

hùng ebudezain
gulp-file-include

...
<body>
   <?php include "./header.html" ?>

   Your content here

   <?php include "./footer.html" ?>
</body>
...
4

tôi thích vậy đó

hùng đẹp trai

ahihi đồ ngốc trương thanh hùng nè

hùng ebudezain

đọc dữ liệu hộ bố

ahihi đồ ngốc trương thanh hùng nè

hùng thông minh lắm

ahihi đồ ngốc trương thanh hùng nè

hùng ebudezain

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

đọc dữ liệu hộ bố

ahihi đồ ngốc trương thanh hùng nè

hùng thông minh lắm

hùng ebudezain

hùng đẹp trai

hùng thông minh lắm

hùng ebudezain

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

đọc dữ liệu hộ bố

hùng đẹp trai

hùng thông minh lắm

tôi thích vậy đó

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

6 - IQ 200 - Không thèm html mà chuyển qua Pug
Giả sử xài PHP thì như sau: 

...
<body>
   <?php include "./header.html" ?>

   Your content here

   <?php include "./footer.html" ?>
</body>
...
5

đọc dữ liệu hộ bố

tôi thích vậy đó

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

tôi thích vậy đó

Riêng tôi không thích Dreamweaver cho lắm. Nó chết xặc máu từ hồi xửa hồi xưa rồi nên thôi chúng ta cũng không nên quay về thời cổ đại code làm gì. Nói chung là cái Dreamweaver này dành cho nhưng ai thích nghĩ về hoài niệm.  MẶt khác nếu công ty bạn có đứa không cài Dreamweaver thì nó sẽ vui lắm khi bạn cứ xài đồ cũ mà nó thì cứ cà khịa bạn 😄 

hùng đẹp trai

ahihi đồ ngốc trương thanh hùng nè

tôi thích vậy đó

5. IQ 110 - Xài Dreamweaver