Html hiển thị nội dung từ một trang khác
Một cách mà JavaScript thường được sử dụng là ẩn hoặc hiển thị nội dung dựa trên hành vi của người dùng. Ví dụ: người dùng có thể chọn một tùy chọn khi điền vào biểu mẫu trực tuyến và lựa chọn của họ có thể khiến các trường biểu mẫu liên quan khác xuất hiện. Trong bài học này, bạn sẽ sử dụng CSS và Javascript để hiển thị và ẩn đồng hồ mà bạn đã tạo Show
Kết quả của người họcKhi hoàn thành bài tập này
Các hoạt độngThông lệ phổ biến trên web ngày nay là ẩn nội dung khỏi người dùng cho đến khi cần thiết. Trong bài này các bạn sẽ ẩn đồng hồ đi, sau đó thêm link mà nếu click vào sẽ hiện đồng hồ mở javascript. html trong cả trình soạn thảo văn bản và trình duyệt web của bạn. Chuyển đến biểu định kiểu mà bạn đã tạo cho div#clock trong bài học trước. Thêm thuộc tính sau vào biểu định kiểu Bây giờ làm mới trang của bạn trong trình duyệt của bạn. Chuyện gì đã xảy ra thế? . Đây là một trong một số cách để ẩn nội dung bằng CSS. Để hiển thị lại phần tử, bạn sẽ thay đổi thuộc tính này thành Tuy nhiên, trong trường hợp này, chúng tôi chỉ muốn hiển thị phần tử nếu người dùng yêu cầu cụ thể. Vì vậy, chúng tôi sẽ phải thay đổi kiểu động, sử dụng JavaScript, được kích hoạt bởi sự kiện onclick Đầu tiên, thêm phần tử mà bạn muốn người dùng nhấp vào Hiển thị đồng hồ Lưu ý rằng nút này về cơ bản giống như nút bạn đã tạo trong Bài 1 để hiển thị cảnh báo. Có một sự khác biệt quan trọng mặc dù. Nút này có thuộc tính id. Đó là để bạn có thể truy cập nó dễ dàng bằng JavaScript (bạn sẽ hiểu tại sao trong giây lát) Bây giờ bạn đã có một nút mà khi được nhấp vào sẽ gọi hàm toggleClock(), bạn cần tạo một hàm toggleClock(). Đây là chức năng đó - chỉ cần thêm nó vào phần tập lệnh hiện có ở đầu trang web của bạn function toggleClock() { // get the clock var myClock = document.getElementById('clock'); // get the current value of the clock's display property var displaySetting = myClock.style.display; // also get the clock button, so we can change what it says var clockButton = document.getElementById('clockButton'); // now toggle the clock and the button text, depending on current state if (displaySetting == 'block') { // clock is visible. hide it myClock.style.display = 'none'; // change button text clockButton.innerHTML = 'Show clock'; } else { // clock is hidden. show it myClock.style.display = 'block'; // change button text clockButton.innerHTML = 'Hide clock'; } } Trong hàm toggleClock() mới này, bạn đang sử dụng JavaScript để truy xuất phần tử đồng hồ, lấy giá trị hiện tại của kiểu hiển thị của nó, sau đó kiểm tra nó. Nếu màn hình hiện đang được đặt thành "khối", đồng hồ sẽ hiển thị, vì vậy bạn thay đổi màn hình thành "không" để ẩn đồng hồ. Nếu đồng hồ đã bị ẩn, bạn thay đổi hiển thị thành "chặn" để hiển thị lại. Trong khi bạn đang chuyển đổi qua lại màn hình của đồng hồ từ "khối" thành "không", bạn cũng đang thay đổi văn bản (HTML bên trong) trên nút đồng hồ, sao cho luân phiên giữa "Hiển thị đồng hồ" và "Ẩn đồng hồ", tùy thuộc vào Tất cả đã được làm xong?Kiểm tra trang web của bạn và đảm bảo rằng bạn có thể hiển thị và ẩn đồng hồ bằng nút mới. Ngoài ra, hãy đảm bảo văn bản của nút thay đổi từ "Hiển thị đồng hồ" thành "Ẩn đồng hồ" khi thích hợp. Chia sẻ trang web của bạn với người hướng dẫn của bạn. Nếu tất cả đều ổn, hãy chuyển sang bài học tiếp theo Tôi vô cùng ngạc nhiên rằng HTML chưa bao giờ có bất kỳ cách nào để bao gồm các tệp HTML khác trong đó. Dường như không có bất cứ điều gì trên đường chân trời giải quyết nó. Tôi đang nói về việc bao gồm trực tiếp, chẳng hạn như lấy một đoạn HTML và ghép nó vào một đoạn khác. Ví dụ: trường hợp sử dụng cho phần lớn toàn bộ internet, bao gồm đầu trang và chân trang cho tất cả các trang
Nhân tiện, điều đó không có thật. Tôi chỉ ước nó là Mọi người đã tìm đến các ngôn ngữ khác để giải quyết vấn đề này cho họ mãi mãi. Đó là tiền xử lý HTML, theo một nghĩa nào đó. Rất lâu trước khi chúng tôi tiền xử lý CSS của mình, chúng tôi đã sử dụng các công cụ để thao tác HTML của mình. Và chúng tôi vẫn vậy, bởi vì ý tưởng bao gồm hữu ích trên hầu hết mọi trang web trên thế giới Sử dụng PHPBạn có thể sử dụng PHP để thay thế không?
Điều này sẽ thực hiện bao gồm ở cấp máy chủ, làm cho yêu cầu cho nó xảy ra ở cấp hệ thống tệp trên máy chủ, do đó, nó sẽ nhanh hơn nhiều so với giải pháp phía máy khách Sử dụng GulpĐiều gì thậm chí còn nhanh hơn bao gồm phía máy chủ? . Gulp có nhiều bộ xử lý có thể làm điều này. Một là gulp-file-gồm Điều đó sẽ trông như thế này
Và bạn sẽ xử lý nó như thế nào
Có vẻ như plugin cụ thể này có các tính năng ưa thích nơi bạn có thể chuyển các biến vào phần bao gồm, giúp bạn có thể tạo các thành phần điều khiển dữ liệu nhỏ Sử dụng tiếng càu nhàuĐây là chức năng của plugin grunt-bake. Bạn sẽ định cấu hình Grunt để xử lý HTML của mình
Sau đó, HTML của bạn có thể sử dụng cú pháp đặc biệt này để bao gồm
Sử dụng tay láiTay lái có một phần Bạn đăng ký chúng
Sau đó sử dụng chúng Ngoài ra còn có các tính năng ưa thích này cho phép đánh giá và truyền dữ liệu. Bạn vẫn sẽ cần một bộ xử lý để chạy nó, có thể là thứ gì đó như gulp-handlebars Nói về các ngôn ngữ tạo khuôn mẫu sử dụng dấu ngoặc nhọn… Bộ ria mép cũng có chúng Sử dụng PugPug là một bộ tiền xử lý HTML có cú pháp hoàn toàn mới cho HTML ngắn gọn hơn một chút. Nó có bao gồm mặc dù
Sau đó, bạn chạy nó với thứ gì đó như gulp-pug Sử dụng NunjucksTôi yêu tôi một số Nunjucks. Nunjucks đã bao gồm. Bạn sẽ làm như thế này 0Nếu bạn đặt nó trong một tệp có tên là 1, bạn có thể xử lý nó bằng một tập lệnh Node đơn giản thành chỉ mục. html như thế này 0Hoặc xử lý nó bằng thứ gì đó như gulp-nunjucks 11ty có sẵn Nunjucks, cùng với nhiều thứ khác được đề cập cho đến nay. Có thể tốt cho bạn nếu bạn đang thực sự xây dựng một trang web nhỏ Sử dụng AjaxNói rằng bạn đã… 1Bạn có thể tìm nạp nội dung cho đầu trang và chân trang từ các tệp tương ứng và kết xuất nội dung vào 2Nói về JavaScript… Nếu bạn đang xây dựng trang web của mình bằng bất kỳ loại khung JavaScript nào, thì việc xây dựng thông qua các thành phần là vấn đề chính ở đó và việc phá vỡ các phần bạn muốn đưa vào các tệp khác sẽ không có vấn đề gì. Một số loại 2 và 3 là lãnh thổ mà bạn sẽ đến trong React landSử dụng iframebạn có thể làm điều này 3Nhưng nội dung trong các iframe đó không chia sẻ cùng một DOM, vì vậy sẽ hơi kỳ lạ, chưa kể đến việc tạo kiểu chậm và khó sử dụng (vì iframe không biết độ cao của nội dung của chúng) Tuy nhiên, Scott Jehl đã ghi lại một ý tưởng tuyệt vời. Bạn có thể yêu cầu khung nội tuyến đưa nội dung của chính nó vào trang mẹ rồi tự xóa 4Kolya Korruptis đã viết bằng bản điều chỉnh này sẽ bao gồm nhiều hơn phần tử con đầu tiên của nội dung trong trường hợp tệp HTML của bạn có nội dung đó 5Sử dụng JekyllJekyll là trình tạo trang web tĩnh dựa trên Ruby có bao gồm. Bạn giữ nội dung của mình trong thư mục 4, sau đó 6Jekyll là một công cụ lớn, vì vậy tôi gọi nó ở đây, nhưng có rất nhiều công cụ tạo trang web tĩnh và tôi cá rằng bất kỳ công cụ nào trong số chúng có thể làm được bao gồm Sử dụng SergeĐược rồi, tôi sẽ gọi thêm một SSG vì nó mới và siêu tập trung. Sergey có định dạng kiểu thành phần web 7Bạn sẽ đặt tên cho các tệp là 5 và 6 và đặt chúng vào 7 và sau đó nó sẽ tạo một bản dựng với các tệp bao gồm được xử lý khi bạn chạy tập lệnh npm mà bạn đã thực hiệnSử dụng Apache SSIApache, một máy chủ web phổ biến siêu lừa đảo, có thể bao gồm. Bạn làm như thế này 8Nhưng bạn cần cấu hình Apache phù hợp để cho phép nội dung. Tôi đã cố gắng hết sức để bản demo hoạt động nhưng không gặp nhiều may mắn Tôi đã thử sử dụng 8 trong một thư mục trên máy chủ Apache và mở những nội dung mà tôi cho là phù hợp 9Tôi chắc chắn rằng có một số cách để làm cho nó hoạt động, và nếu bạn làm như vậy, thật tuyệt khi nó không cần các phụ thuộc khác Sử dụng CodeKitChỉ dành cho máy Mac, nhưng CodeKit có một ngôn ngữ đặc biệt gọi là Kit nó xử lý trong đó 90% điểm của nó là HTML bao gồm. Nó sử dụng các nhận xét HTML đặc biệt 0Sử dụng DreamweaverLol JK. Nhưng đó thực sự là một điều. DWT, em bé thánh tào laoĐó là rất nhiều cách, phải không? Như tôi đã nói ở trên, tôi rất ngạc nhiên khi bản thân HTML không giải quyết vấn đề này một cách trực tiếp. Không phải tôi nghĩ rằng sẽ là một ý tưởng tuyệt vời cho hiệu suất khi có 9 câu lệnh kích hoạt các yêu cầu mạng trên tất cả mã của chúng tôi, nhưng có vẻ như điều đó phù hợp với nền tảng. Sử dụng ES6 nhập trực tiếp mà không cần đóng gói cũng không phải là một ý tưởng tuyệt vời, nhưng chúng tôi có chúng. 0 CSS trong CSS không phải lúc nào cũng là một ý tưởng tuyệt vời, nhưng chúng tôi có nó. Nếu nền tảng có cú pháp gốc, có lẽ công cụ khác sẽ loại bỏ điều đó, giống như các gói JavaScript hỗ trợ định dạng nhập ES6
Làm cách nào bạn có thể liên kết một trang HTML với một trang khác?Thẻ xác định một siêu liên kết và được sử dụng để liên kết từ trang này sang trang khác. Thuộc tính href được sử dụng với thẻ , cho biết đích của liên kết. Để tạo liên kết trang trong trang HTML, chúng ta cần sử dụng thuộc tính href của thẻ và . Đảm bảo rằng thẻ được đặt trong …. href attribute is used with the tag, which indicates the link's destination. To create page links in an HTML page, we need to use the href attribute of the and tag. Make sure that the tag is placed with in the …
Làm cách nào tôi có thể lấy dữ liệu từ một trang web khác bằng HTML?Chúng tôi làm cách nào để quét web? . Kiểm tra HTML của trang web mà bạn muốn thu thập thông tin Truy cập URL của trang web bằng mã và tải xuống tất cả nội dung HTML trên trang Định dạng nội dung đã tải xuống thành định dạng có thể đọc được Trích xuất thông tin hữu ích và lưu nó ở định dạng có cấu trúc |