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

Hướng dẫn include html - bao gồm 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

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

hùng đẹp trai

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

hùng đẹp trai

tôi thích vậy đó

hùng đẹp trai

hùng đẹp trai

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

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

hùng đẹp trai

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

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

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

tôi thích vậy đó

tôi thích vậy đó

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

tôi thích vậy đó

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 
Đây là 1 ví dụ cụ thể mà bạn thường gặp phải khi code html: 

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

hùng đẹp trai


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

   Content

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

hùng đẹp trai

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng thông minh lắm

hùng đẹp trai

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

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

hùng đẹp trai

hùng đẹp trai

hùng thông minh lắm

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

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

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

</body>

hùng đẹp trai

hùng đẹp trai

tôi thích vậy đó

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

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

hùng đẹp trai

tôi thích vậy đó

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 đẹp trai

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

tôi thích vậy đó

tôi thích vậy đó

hùng đẹp trai

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

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng đẹp trai

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

Pug nó là 1 HTML preprocessor. Nghĩa là tiền xử lý html để đưa ra thực tế sử dụng. Cú fáp ngắn gọn hơn HTML: 

hùng ebudezain

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng thông minh lắm

hùng đẹp trai

hùng thông minh lắm

hùng thông minh lắm

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

   Your content here

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

tôi thích vậy đó

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng đẹp trai

hùng đẹp trai

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng đẹp trai

hùng đẹp trai

hùng ebudezain

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng ebudezain

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

hùng thông minh lắm

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

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

   Your content here

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

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

   Your content here

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

tôi thích vậy đó

đọc dữ liệu hộ bố
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

hùng ebudezain

tôi thích vậy đó

tôi thích vậy đó

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

tôi thích vậy đó

hùng đẹp trai

hùng đẹp trai


hùng ebudezain

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng đẹp trai

hùng ebudezain

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

tôi thích vậy đó

hùng đẹp trai
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

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

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

hùng thông minh lắm

hùng đẹp trai

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

tôi thích vậy đó

hùng ebudezain

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

   Your content here

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng thông minh lắm

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

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

3. IQ 71 - Xài Apache SSI

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

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

hùng thông minh lắm

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

hùng đẹp trai

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng ebudezain
gulp-file-include

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

   Your content here

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

hùng đẹp trai

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

tôi thích vậy đó

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng thông minh lắm

hùng đẹp trai

hùng thông minh lắm

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

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

hùng thông minh lắm

tôi thích vậy đó

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng thông minh lắm

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

hùng đẹp trai

tôi thích vậy đó

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

hùng đẹp trai

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

Cách này thì bố của lầy, mặc dù giải quyết đc vấn đề set jquery js nhưng iframes cũng là html body mới nên bõ đi mà làm người. 

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

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

tôi thích vậy đó

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng thông minh lắm

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

hùng đẹp trai

hùng ebudezain

tôi thích vậy đó

hùng thông minh lắm

đọc dữ liệu hộ bố
Giả sử xài PHP thì như sau: 

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

   Your content here

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

hùng thông minh lắm

tôi thích vậy đó

tôi thích vậy đó

9 - IQ -Captain America

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

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

tôi thích vậy đó

tôi thích vậy đó

hùng ebudezain

hùng đẹp trai

hùng đẹp trai

bài viết được viết bởi trương thanh hùng https://ebudezain.com/

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