Làm cách nào để nhúng một trang web vào một trang web html khác?

Trong bài học này, chúng ta sẽ sử dụng lập trình để cố gắng giải câu đố Làm thế nào để nhúng một trang web vào một trang web khác. Mã hiển thị dưới đây chứng minh điều này


Sử dụng nhiều ví dụ khác nhau, chúng ta đã học được cách giải bài Cách nhúng một trang web vào một trang web khác

Làm thế nào để bạn nhúng một URL vào một trang web?

Để chèn một liên kết web

  • Nhập văn bản bạn muốn sử dụng cho liên kết
  • Đánh dấu văn bản
  • Nhấp vào , Chèn siêu liên kết
  • Trong URL của trang được liên kết hoặc trường tệp, hãy nhập URL cho trang web mà bạn đang liên kết [nếu bên ngoài]
  • Chọn một Anchor, nếu muốn
  • Nhập tiêu đề
  • Nhấp vào Chèn

Làm cách nào để hiển thị một trang web khác trong HTML?

Bạn có thể sử dụng anin để hiển thị một trang web bên ngoài trong trang web của mình. Chỉ cần đặt url của trang web mà bạn muốn hiển thị bên trong dấu ngoặc kép của thuộc tính src. Lưu câu trả lời này. 04-Apr-2013

Bạn có thể nhúng các trang web của Google vào một trang web khác không?

Google Sites cổ điển cung cấp cài đặt cho phép nhúng trang web để bạn có thể cho phép Google Site cổ điển của mình xuất hiện trên một trang web khác

Tôi có thể iframe một trang web khác không?

IFrame là mã HTML mà bạn có thể sử dụng để nhúng một trang HTML, trang PDF, trang web khác hoặc tệp an toàn trên web khác vào một trang web khác bên trong cửa sổ. Cửa sổ có thể được tạo kiểu bằng mã css

Sự khác biệt giữa nhúng và liên kết là gì?

Video được nhúng cho phép bạn mượn video từ nền tảng khác. Khách truy cập có thể xem video trên trang web của bạn mà không cần rời khỏi trang hiện tại. Ngược lại, liên kết video chia sẻ URL của video. Khi người đọc nhấp vào liên kết, họ sẽ được chuyển hướng đến trang lưu trữ video

Làm cách nào để tạo liên kết nhúng trong HTML?

Tóm tắt chương

  • Sử dụng phần tử để xác định một liên kết
  • Sử dụng thuộc tính href để xác định địa chỉ liên kết
  • Sử dụng thuộc tính đích để xác định nơi mở tài liệu được liên kết
  • Sử dụng phần tử [bên trong ] để sử dụng hình ảnh làm liên kết.

Bạn có thể có một trang web trong một trang web?

Đây là phương pháp tiếp thị Web nhằm xây dựng các khu vực nội dung cụ thể trong Trang web của bạn, trở thành các trang web nhỏ trong Trang web chính của công ty bạn. Các trang web nhỏ, trang phụ hoặc trang web vi mô này có hiệu quả trong việc nhắm mục tiêu các phân khúc thị trường riêng lẻ cho các sản phẩm và dịch vụ của bạn

Sự khác biệt giữa iframe và nhúng là gì?

EMBED về cơ bản giống như IFRAME, chỉ có ít thuộc tính hơn. Chính thức, EMBED là thẻ HTML 5, nhưng trên một số trình duyệt, nó cũng sẽ hoạt động với HTML 4. 01, nếu bạn đang sử dụng cái này. Nó chỉ không thể được xác nhận. Như mọi khi, HTML 5 được khuyến nghị cho các trang

Sử dụng iframe có phải là một ý tưởng hay không?

Google khuyên bạn không nên tạo iframe. Tại đó Diễn đàn trợ giúp quản trị viên web, Google đã tuyên bố rõ ràng rằng iframe có thể gây ra sự cố cho họ. IFrame đôi khi được sử dụng để hiển thị nội dung trên các trang web. Nội dung được hiển thị qua iFrames có thể không được lập chỉ mục và có sẵn để xuất hiện trong kết quả tìm kiếm của Google. 30-Apr-2019

URL nhúng là gì?

Câu trả lời. Siêu liên kết được nhúng là khi văn bản được sử dụng làm liên kết thay vì URL thực. Ví dụ: thay vì hiển thị liên kết dưới dạng http. //www. blackbaud. com, nó được hiển thị dưới dạng Blackbaud

Đến bây giờ, bạn đã thực sự hiểu rõ về cách nhúng mọi thứ vào trang web của mình, bao gồm hình ảnh, video và âm thanh. Tại thời điểm này, chúng tôi muốn thực hiện một bước đi ngang, xem xét một số yếu tố cho phép bạn nhúng nhiều loại nội dung vào trang web của mình. các phần tử

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3,
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
4 và
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
5.
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 dùng để nhúng các trang web khác và hai trang còn lại cho phép bạn nhúng các tài nguyên bên ngoài, chẳng hạn như tệp PDF

điều kiện tiên quyết. Trình độ máy tính cơ bản, cài đặt phần mềm cơ bản, kiến ​​thức cơ bản về làm việc với tệp, làm quen với các nguyên tắc cơ bản về HTML [như được trình bày trong Bắt đầu với HTML] và các bài viết trước trong mô-đun này. Khách quan. Để tìm hiểu cách nhúng các mục vào các trang web bằng cách sử dụng
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
5,
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
4 và
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3, chẳng hạn như tài liệu PDF và các trang web khác

Một lịch sử ngắn của nhúng

Cách đây rất lâu trên Web, việc sử dụng khung để tạo trang web đã trở nên phổ biến — các phần nhỏ của trang web được lưu trữ trong các trang HTML riêng lẻ. Chúng được nhúng trong một tài liệu chính gọi là bộ khung, cho phép bạn chỉ định khu vực trên màn hình mà mỗi khung được lấp đầy, giống như định cỡ các cột và hàng của bảng. Đây được coi là đỉnh cao của sự tuyệt vời vào giữa đến cuối những năm 90 và có bằng chứng cho thấy việc chia một trang web thành các phần nhỏ hơn như thế này sẽ tốt hơn cho tốc độ tải xuống — đặc biệt đáng chú ý là khi đó các kết nối mạng quá chậm. Tuy nhiên, chúng có nhiều vấn đề, vượt xa mọi mặt tích cực khi tốc độ mạng nhanh hơn, vì vậy bạn không thấy chúng được sử dụng nữa

Một thời gian ngắn sau [cuối những năm 90, đầu những năm 2000], các công nghệ plugin trở nên rất phổ biến, chẳng hạn như Java Applet và Flash — những công nghệ này cho phép các nhà phát triển web nhúng nội dung phong phú vào các trang web như video và hoạt ảnh, những thứ không có sẵn thông qua HTML. Việc nhúng các công nghệ này đã đạt được thông qua các yếu tố như

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
5 và
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
4 ít được sử dụng hơn và chúng rất hữu ích vào thời điểm đó. Kể từ đó, chúng đã lỗi thời do nhiều vấn đề, bao gồm khả năng truy cập, bảo mật, kích thước tệp, v.v. Ngày nay, các trình duyệt chính đã ngừng hỗ trợ các plugin như Flash

Cuối cùng, phần tử ________ 33 xuất hiện [cùng với các cách nhúng nội dung khác, chẳng hạn như ________ 15, ________ 16, v.v. ] Điều này cung cấp một cách để nhúng toàn bộ tài liệu web vào bên trong một tài liệu khác, như thể đó là một

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
7 hoặc phần tử tương tự khác và được sử dụng thường xuyên ngày nay

Với bài học lịch sử đã hết, chúng ta hãy tiếp tục và xem cách sử dụng một số trong số này

học tích cực. sử dụng nhúng cổ điển

Trong bài viết này, chúng ta sẽ đi thẳng vào phần học tích cực, để ngay lập tức cung cấp cho bạn ý tưởng thực sự về công nghệ nhúng hữu ích cho việc gì. Thế giới trực tuyến rất quen thuộc với YouTube, nhưng nhiều người không biết về một số tiện ích chia sẻ mà YouTube có sẵn. Hãy xem cách YouTube cho phép chúng tôi nhúng video vào bất kỳ trang nào chúng tôi muốn bằng cách sử dụng

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3

  1. Trước tiên, hãy truy cập YouTube và tìm một video bạn thích
  2. Bên dưới video, bạn sẽ tìm thấy nút Chia sẻ — hãy chọn nút này để hiển thị các tùy chọn chia sẻ
  3. Chọn nút Nhúng và bạn sẽ nhận được một số mã
    html {
      font-family: sans-serif;
    }
    
    h2 {
      font-size: 16px;
    }
    
    .a11y-label {
      margin: 0;
      text-align: right;
      font-size: 0.7rem;
      width: 98%;
    }
    
    body {
      margin: 10px;
      background: #f5f9fa;
    }
    
    3 — hãy sao chép mã này
  4. Chèn nó vào hộp Nhập bên dưới và xem kết quả ở Đầu ra là gì

Để có điểm thưởng, bạn cũng có thể thử nhúng Google Map vào ví dụ

  1. Truy cập Google Maps và tìm bản đồ bạn thích
  2. Nhấp vào "Menu Hamburger" [ba đường kẻ ngang] ở trên cùng bên trái của giao diện người dùng
  3. Chọn tùy chọn Chia sẻ hoặc nhúng bản đồ
  4. Chọn tùy chọn Nhúng bản đồ, tùy chọn này sẽ cung cấp cho bạn một số mã
    html {
      font-family: sans-serif;
    }
    
    h2 {
      font-size: 16px;
    }
    
    .a11y-label {
      margin: 0;
      text-align: right;
      font-size: 0.7rem;
      width: 98%;
    }
    
    body {
      margin: 10px;
      background: #f5f9fa;
    }
    
    3 — sao chép mã này
  5. Chèn nó vào hộp Nhập bên dưới và xem kết quả ở Đầu ra là gì

Nếu bạn mắc lỗi, bạn luôn có thể đặt lại bằng nút Đặt lại. Nếu bạn thực sự gặp khó khăn, hãy nhấn nút Hiển thị giải pháp để xem câu trả lời

Live output



Editable code

  Press Esc to move focus away from the code area [Tab inserts a tab character].





  
  

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}

const textarea = document.getElementById['code'];
const reset = document.getElementById['reset'];
const solution = document.getElementById['solution'];
const output = document.querySelector['.output'];
let code = textarea.value;
let userEntry = textarea.value;

function updateCode[] {
  output.innerHTML = textarea.value;
}

reset.addEventListener['click', function[] {
  textarea.value = code;
  userEntry = textarea.value;
  solutionEntry = htmlSolution;
  solution.value = 'Show solution';
  updateCode[];
}];

solution.addEventListener['click', function[] {
  if [solution.value === 'Show solution'] {
    textarea.value = solutionEntry;
    solution.value = 'Hide solution';
  } else {
    textarea.value = userEntry;
    solution.value = 'Show solution';
  }
  updateCode[];
}];

const htmlSolution = '\n\n\n\n';
let solutionEntry = htmlSolution;

textarea.addEventListener['input', updateCode];
window.addEventListener['load', updateCode];

// stop tab key tabbing out of textarea and
// make it write a tab at the caret position instead

textarea.onkeydown = function[e]{
  if [e.keyCode === 9] {
    e.preventDefault[];
    insertAtCaret['\t'];
  }

  if [e.keyCode === 27] {
    textarea.blur[];
  }
};

function insertAtCaret[text] {
  const scrollPos = textarea.scrollTop;
  let caretPos = textarea.selectionStart;

  const front = textarea.value.substring[0, caretPos];
  const back = textarea.value.substring[textarea.selectionEnd, textarea.value.length];
  textarea.value = front + text + back;
  caretPos += text.length;
  textarea.selectionStart = caretPos;
  textarea.selectionEnd = caretPos;
  textarea.focus[];
  textarea.scrollTop = scrollPos;
}

// Update the saved userCode every time the user updates the text area code

textarea.onkeyup = function[]{
  // We only want to save the state when the user code is being shown,
  // not the solution, so that solution is not saved over the user code
  if [solution.value === 'Show solution'] {
    userEntry = textarea.value;
  } else {
    solutionEntry = textarea.value;
  }

  updateCode[];
};

iframe chi tiết

Vì vậy, đó là dễ dàng và thú vị, phải không? . Điều này thật tuyệt vời khi kết hợp nội dung của bên thứ ba vào trang web của bạn mà bạn có thể không có quyền kiểm soát trực tiếp và không muốn triển khai phiên bản của riêng mình — chẳng hạn như video từ nhà cung cấp video trực tuyến, hệ thống nhận xét như Disqus, bản đồ từ trực tuyến . Các ví dụ trực tiếp có thể chỉnh sửa mà bạn đã sử dụng trong suốt khóa học này được triển khai bằng cách sử dụng

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3s

Có một số lo ngại nghiêm trọng về Bảo mật cần xem xét với

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3, như chúng tôi sẽ thảo luận bên dưới, nhưng điều này không có nghĩa là bạn không nên sử dụng chúng trong trang web của mình — nó chỉ cần một số kiến ​​thức và suy nghĩ cẩn thận. Hãy khám phá mã chi tiết hơn một chút. Giả sử bạn muốn đưa bảng thuật ngữ MDN vào một trong các trang web của mình — bạn có thể thử một cái gì đó như thế này


  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

Ví dụ này bao gồm các yếu tố cơ bản cần thiết để sử dụng một

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3

const textarea = document.getElementById['code'];
const reset = document.getElementById['reset'];
const solution = document.getElementById['solution'];
const output = document.querySelector['.output'];
let code = textarea.value;
let userEntry = textarea.value;

function updateCode[] {
  output.innerHTML = textarea.value;
}

reset.addEventListener['click', function[] {
  textarea.value = code;
  userEntry = textarea.value;
  solutionEntry = htmlSolution;
  solution.value = 'Show solution';
  updateCode[];
}];

solution.addEventListener['click', function[] {
  if [solution.value === 'Show solution'] {
    textarea.value = solutionEntry;
    solution.value = 'Hide solution';
  } else {
    textarea.value = userEntry;
    solution.value = 'Show solution';
  }
  updateCode[];
}];

const htmlSolution = '\n\n\n\n';
let solutionEntry = htmlSolution;

textarea.addEventListener['input', updateCode];
window.addEventListener['load', updateCode];

// stop tab key tabbing out of textarea and
// make it write a tab at the caret position instead

textarea.onkeydown = function[e]{
  if [e.keyCode === 9] {
    e.preventDefault[];
    insertAtCaret['\t'];
  }

  if [e.keyCode === 27] {
    textarea.blur[];
  }
};

function insertAtCaret[text] {
  const scrollPos = textarea.scrollTop;
  let caretPos = textarea.selectionStart;

  const front = textarea.value.substring[0, caretPos];
  const back = textarea.value.substring[textarea.selectionEnd, textarea.value.length];
  textarea.value = front + text + back;
  caretPos += text.length;
  textarea.selectionStart = caretPos;
  textarea.selectionEnd = caretPos;
  textarea.focus[];
  textarea.scrollTop = scrollPos;
}

// Update the saved userCode every time the user updates the text area code

textarea.onkeyup = function[]{
  // We only want to save the state when the user code is being shown,
  // not the solution, so that solution is not saved over the user code
  if [solution.value === 'Show solution'] {
    userEntry = textarea.value;
  } else {
    solutionEntry = textarea.value;
  }

  updateCode[];
};
5

Nếu được sử dụng,

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 sẽ được hiển thị mà không có đường viền xung quanh. Mặt khác, theo mặc định, các trình duyệt hiển thị
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 với đường viền xung quanh [thường là điều không mong muốn]

const textarea = document.getElementById['code'];
const reset = document.getElementById['reset'];
const solution = document.getElementById['solution'];
const output = document.querySelector['.output'];
let code = textarea.value;
let userEntry = textarea.value;

function updateCode[] {
  output.innerHTML = textarea.value;
}

reset.addEventListener['click', function[] {
  textarea.value = code;
  userEntry = textarea.value;
  solutionEntry = htmlSolution;
  solution.value = 'Show solution';
  updateCode[];
}];

solution.addEventListener['click', function[] {
  if [solution.value === 'Show solution'] {
    textarea.value = solutionEntry;
    solution.value = 'Hide solution';
  } else {
    textarea.value = userEntry;
    solution.value = 'Show solution';
  }
  updateCode[];
}];

const htmlSolution = '\n\n\n\n';
let solutionEntry = htmlSolution;

textarea.addEventListener['input', updateCode];
window.addEventListener['load', updateCode];

// stop tab key tabbing out of textarea and
// make it write a tab at the caret position instead

textarea.onkeydown = function[e]{
  if [e.keyCode === 9] {
    e.preventDefault[];
    insertAtCaret['\t'];
  }

  if [e.keyCode === 27] {
    textarea.blur[];
  }
};

function insertAtCaret[text] {
  const scrollPos = textarea.scrollTop;
  let caretPos = textarea.selectionStart;

  const front = textarea.value.substring[0, caretPos];
  const back = textarea.value.substring[textarea.selectionEnd, textarea.value.length];
  textarea.value = front + text + back;
  caretPos += text.length;
  textarea.selectionStart = caretPos;
  textarea.selectionEnd = caretPos;
  textarea.focus[];
  textarea.scrollTop = scrollPos;
}

// Update the saved userCode every time the user updates the text area code

textarea.onkeyup = function[]{
  // We only want to save the state when the user code is being shown,
  // not the solution, so that solution is not saved over the user code
  if [solution.value === 'Show solution'] {
    userEntry = textarea.value;
  } else {
    solutionEntry = textarea.value;
  }

  updateCode[];
};
8

Nếu được đặt, thì có thể đặt

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 ở chế độ toàn màn hình bằng cách sử dụng API toàn màn hình [hơi nằm ngoài phạm vi của bài viết này. ]


  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

0

Thuộc tính này, như với

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
6/
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
7, chứa một đường dẫn trỏ đến URL của tài liệu sẽ được nhúng


  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

3 và

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

4

Các thuộc tính này chỉ định chiều rộng và chiều cao mà bạn muốn iframe là

Nội dung dự phòng

Cũng giống như các yếu tố tương tự khác như

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
6, bạn có thể bao gồm nội dung dự phòng giữa thẻ mở và thẻ đóng

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

6 sẽ xuất hiện nếu trình duyệt không hỗ trợ
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3. Trong trường hợp này, chúng tôi đã bao gồm một liên kết đến trang thay thế. Không chắc là bạn sẽ bắt gặp bất kỳ trình duyệt nào không hỗ trợ
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 trong những ngày này


  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

9

Thuộc tính này hoạt động trong các trình duyệt hiện đại hơn một chút so với các tính năng còn lại của

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 [e. g. IE 10 trở lên] yêu cầu cài đặt bảo mật nâng cao;

Ghi chú. Để cải thiện tốc độ, bạn nên đặt thuộc tính


  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

0 của iframe bằng JavaScript sau khi tải xong nội dung chính. Điều này làm cho trang của bạn có thể sử dụng được sớm hơn và giảm thời gian tải trang chính thức của bạn [một số liệu SEO quan trọng. ]

mối quan tâm an ninh

Ở trên, chúng tôi đã đề cập đến những lo ngại về bảo mật - bây giờ chúng ta hãy đi vào vấn đề này chi tiết hơn một chút. Chúng tôi không mong đợi bạn hiểu hoàn toàn tất cả nội dung này ngay lần đầu tiên; . Ngoài ra, không cần phải sợ hãi và không sử dụng

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 — bạn chỉ cần cẩn thận. Đọc tiếp…

Các nhà sản xuất trình duyệt và nhà phát triển Web đã học được một cách khó khăn rằng iframe là mục tiêu phổ biến [thuật ngữ chính thức. véc tơ tấn công] để những người xấu trên Web [thường được gọi là tin tặc hoặc chính xác hơn là kẻ bẻ khóa] tấn công nếu họ đang cố sửa đổi trang web của bạn theo cách ác ý hoặc lừa mọi người làm điều gì đó mà họ không muốn làm, chẳng hạn như tiết lộ nội dung nhạy cảm . Do đó, các kỹ sư thông số kỹ thuật và nhà phát triển trình duyệt đã phát triển nhiều cơ chế bảo mật khác nhau để làm cho

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 an toàn hơn và cũng có những phương pháp hay nhất để xem xét — chúng tôi sẽ đề cập đến một số phương pháp này bên dưới

Ghi chú. Clickjacking là một kiểu tấn công khung nội tuyến phổ biến trong đó tin tặc nhúng một khung nội tuyến vô hình vào tài liệu của bạn [hoặc nhúng tài liệu của bạn vào trang web độc hại của riêng chúng] và sử dụng nó để thu thập các tương tác của người dùng. Đây là cách phổ biến để đánh lừa người dùng hoặc đánh cắp dữ liệu nhạy cảm

Tuy nhiên, một ví dụ nhanh trước tiên — hãy thử tải ví dụ trước mà chúng tôi đã trình bày ở trên vào trình duyệt của bạn — bạn có thể tìm thấy nó trực tiếp trên GitHub [cũng xem mã nguồn. ] Thay vì trang bạn mong đợi, có thể bạn sẽ thấy một số loại thông báo có nội dung "Tôi không thể mở trang này" và nếu bạn xem Bảng điều khiển trong các công cụ dành cho nhà phát triển trình duyệt, bạn sẽ thấy một thông báo . Trong Firefox, bạn sẽ nhận được thông báo như Đang tải "https. // nhà phát triển. mozilla. org/en-US/docs/Glossary" trong một khung bị từ chối bởi lệnh "X-Frame-Options" được đặt thành "DENY". Điều này là do các nhà phát triển xây dựng MDN đã bao gồm một cài đặt trên máy chủ phục vụ các trang web để không cho phép chúng được nhúng bên trong các

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 [xem Định cấu hình chỉ thị CSP, bên dưới. ] Điều này hợp lý — toàn bộ trang MDN không thực sự hợp lý khi được nhúng vào các trang khác trừ khi bạn muốn làm điều gì đó như nhúng chúng vào trang web của mình và xác nhận chúng là của riêng bạn — hoặc cố gắng đánh cắp dữ liệu thông qua clickjacking, đó là . Ngoài ra, nếu mọi người bắt đầu làm điều này, tất cả băng thông bổ sung sẽ bắt đầu tiêu tốn của Mozilla rất nhiều tiền

Chỉ nhúng khi cần thiết

Đôi khi, việc nhúng nội dung của bên thứ ba — như video trên youtube và bản đồ — nhưng bạn có thể đỡ phải đau đầu hơn nếu chỉ nhúng nội dung của bên thứ ba khi thực sự cần thiết. Một nguyên tắc tốt cho bảo mật web là "Bạn không bao giờ có thể quá thận trọng. Nếu bạn đã thực hiện nó, hãy kiểm tra lại nó. Nếu ai đó đã làm nó, hãy cho rằng nó nguy hiểm cho đến khi được chứng minh ngược lại. "

Bên cạnh bảo mật, bạn cũng nên lưu ý vấn đề sở hữu trí tuệ. Hầu hết nội dung đều có bản quyền, ngoại tuyến và trực tuyến, kể cả nội dung bạn có thể không mong đợi [ví dụ: hầu hết hình ảnh trên Wikimedia Commons]. Không bao giờ hiển thị nội dung trên trang web của bạn trừ khi bạn sở hữu nội dung đó hoặc chủ sở hữu đã cấp cho bạn sự cho phép rõ ràng bằng văn bản. Hình phạt cho hành vi vi phạm bản quyền là nghiêm trọng. Một lần nữa, bạn không bao giờ có thể quá thận trọng

Nếu nội dung được cấp phép, bạn phải tuân thủ các điều khoản cấp phép. Ví dụ: nội dung trên MDN được cấp phép theo CC-BY-SA. Điều đó có nghĩa là bạn phải ghi có cho chúng tôi khi bạn trích dẫn nội dung của chúng tôi, ngay cả khi bạn thực hiện những thay đổi đáng kể

Sử dụng HTTPS

HTTPS là phiên bản được mã hóa của HTTP. Bạn nên phục vụ các trang web của mình bằng HTTPS bất cứ khi nào có thể

  1. HTTPS giảm khả năng nội dung từ xa bị giả mạo trong quá trình chuyển tiếp,
  2. HTTPS ngăn nội dung được nhúng truy cập vào nội dung trong tài liệu gốc của bạn và ngược lại

Kích hoạt HTTPS trang web của bạn yêu cầu cài đặt chứng chỉ bảo mật đặc biệt. Nhiều nhà cung cấp dịch vụ lưu trữ cung cấp dịch vụ lưu trữ hỗ trợ HTTPS mà bạn không cần phải tự thực hiện bất kỳ thiết lập nào để đặt chứng chỉ tại chỗ. Nhưng nếu bạn cần tự thiết lập hỗ trợ HTTPS cho trang web của mình, Let's Encrypt cung cấp các công cụ và hướng dẫn mà bạn có thể sử dụng để tự động tạo và cài đặt chứng chỉ cần thiết — với sự hỗ trợ tích hợp sẵn dành cho các máy chủ web được sử dụng rộng rãi nhất, bao gồm . Công cụ Let's Encrypt được thiết kế để làm cho quy trình trở nên dễ dàng nhất có thể, vì vậy thực sự không có lý do chính đáng nào để tránh sử dụng nó hoặc các phương tiện có sẵn khác để hỗ trợ HTTPS cho trang web của bạn

Ghi chú. Các trang GitHub cho phép nội dung được cung cấp qua HTTPS theo mặc định, vì vậy nó rất hữu ích cho việc lưu trữ nội dung. Nếu bạn đang sử dụng một nhà cung cấp dịch vụ lưu trữ khác và không chắc chắn, hãy hỏi họ về điều đó

Luôn sử dụng thuộc tính

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

9

Bạn muốn cung cấp cho những kẻ tấn công ít quyền nhất có thể để thực hiện những điều xấu trên trang web của mình, do đó, bạn chỉ nên cấp cho nội dung được nhúng các quyền cần thiết để thực hiện công việc của nó. Tất nhiên, điều này cũng áp dụng cho nội dung của riêng bạn. Một thùng chứa mã mà nó có thể được sử dụng một cách thích hợp — hoặc để thử nghiệm — nhưng không thể gây ra bất kỳ tác hại nào đối với phần còn lại của cơ sở mã [dù vô tình hay độc hại] được gọi là sandbox

Nội dung không có hộp cát có thể làm quá nhiều việc [thực thi JavaScript, gửi biểu mẫu, cửa sổ bật lên, v.v. ] Theo mặc định, bạn nên áp đặt tất cả các hạn chế có sẵn bằng cách sử dụng thuộc tính


  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

9 không có tham số, như trong ví dụ trước của chúng tôi

Nếu thực sự cần thiết, bạn có thể thêm lại từng quyền một [bên trong giá trị thuộc tính

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
18] — xem mục nhập tham chiếu

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

9 để biết tất cả các tùy chọn khả dụng. Một lưu ý quan trọng là bạn không bao giờ được thêm cả
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
30 và
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
31 vào thuộc tính

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

9 của mình — trong trường hợp đó, nội dung được nhúng có thể bỏ qua chính sách Cùng nguồn gốc ngăn các trang web thực thi tập lệnh và sử dụng JavaScript để tắt hoàn toàn hộp cát

Ghi chú. Hộp cát không bảo vệ nếu kẻ tấn công có thể đánh lừa mọi người truy cập trực tiếp vào nội dung độc hại [bên ngoài

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
33]. Nếu có bất kỳ khả năng nội dung nào đó có thể độc hại [e. g. , nội dung do người dùng tạo], vui lòng phân phối nội dung đó từ một miền khác đến trang web chính của bạn

Định cấu hình chỉ thị CSP

CSP là viết tắt của chính sách bảo mật nội dung và cung cấp một bộ Tiêu đề HTTP [siêu dữ liệu được gửi cùng với các trang web của bạn khi chúng được cung cấp từ máy chủ web] được thiết kế để cải thiện tính bảo mật cho tài liệu HTML của bạn. Khi cần bảo mật các

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3, bạn có thể định cấu hình máy chủ của mình để gửi tiêu đề
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
35 thích hợp. Điều này có thể ngăn các trang web khác nhúng nội dung của bạn vào trang web của họ [điều này sẽ kích hoạt clickjacking và một loạt các cuộc tấn công khác], đây chính là điều mà các nhà phát triển MDN đã thực hiện, như chúng ta đã thấy trước đó trên

Ghi chú. Bạn có thể đọc bài đăng của Frederik Braun Trên tiêu đề bảo mật tùy chọn khung X để biết thêm thông tin cơ bản về chủ đề này. Rõ ràng, nó nằm ngoài phạm vi giải thích đầy đủ trong bài viết này

The and elements

Các phần tử

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
4 và
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
5 phục vụ một chức năng khác với
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
3 — những phần tử này là các công cụ nhúng có mục đích chung để nhúng nội dung bên ngoài, chẳng hạn như PDF

Tuy nhiên, bạn không có khả năng sử dụng các yếu tố này nhiều. Nếu bạn cần hiển thị các tệp PDF, tốt hơn hết là liên kết với chúng thay vì nhúng chúng vào trang

Trong lịch sử, các yếu tố này cũng đã được sử dụng để nhúng nội dung được xử lý bởi các plugin trình duyệt như Adobe Flash, nhưng công nghệ này hiện đã lỗi thời và không được hỗ trợ bởi các trình duyệt hiện đại

Nếu bạn thấy mình cần nhúng nội dung phần bổ trợ, thì đây là loại thông tin tối thiểu bạn sẽ cần

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
4
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
5URL của nội dung được nhúng

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

0
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
42loại phương tiện chính xác của nội dung được nhúng
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
43
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
43chiều cao và chiều rộng [tính bằng pixel CSS] của hộp do plugin điều khiển

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

4

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

3

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

4

  
    iframe {
      border: none;
    }
  


  
    
      
        Fallback link for browsers that don't support iframes
      
    
  

3tên

Hãy xem một ví dụ về

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
5 nhúng tệp PDF vào một trang [xem ví dụ trực tiếp và mã nguồn]

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
1

Các tệp PDF là bước đệm cần thiết giữa giấy và kỹ thuật số, nhưng chúng đặt ra nhiều thách thức về khả năng truy cập và có thể khó đọc trên màn hình nhỏ. Chúng vẫn có xu hướng phổ biến trong một số vòng kết nối, nhưng tốt hơn hết là liên kết với chúng để có thể tải xuống hoặc đọc chúng trên một trang riêng biệt, thay vì nhúng chúng vào một trang web

Kiểm tra kỹ năng của bạn

Bạn đã đọc đến cuối bài viết này, nhưng liệu bạn có nhớ được thông tin quan trọng nhất không? . Đa phương tiện và nhúng

Bản tóm tắt

Chủ đề nhúng nội dung khác vào tài liệu web có thể nhanh chóng trở nên rất phức tạp, vì vậy trong bài viết này, chúng tôi đã cố gắng giới thiệu nó theo cách đơn giản, quen thuộc mà sẽ có vẻ phù hợp ngay lập tức, đồng thời gợi ý về một số tính năng nâng cao hơn của . Để bắt đầu, bạn không thể sử dụng tính năng nhúng cho nhiều mục đích khác ngoài việc bao gồm nội dung của bên thứ ba như bản đồ và video trên các trang của bạn. Tuy nhiên, khi bạn trở nên có kinh nghiệm hơn, bạn có thể bắt đầu tìm thấy nhiều cách sử dụng hơn cho chúng.

Có nhiều công nghệ khác liên quan đến việc nhúng nội dung bên ngoài bên cạnh những công nghệ chúng ta đã thảo luận ở đây. Chúng tôi đã thấy một số trong các bài viết trước, chẳng hạn như

html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
6,
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
56 và
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
7, nhưng có những thứ khác cần khám phá, chẳng hạn như
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
5 cho đồ họa 2D và 3D do JavaScript tạo và
html {
  font-family: sans-serif;
}

h2 {
  font-size: 16px;
}

.a11y-label {
  margin: 0;
  text-align: right;
  font-size: 0.7rem;
  width: 98%;
}

body {
  margin: 10px;
  background: #f5f9fa;
}
59 cho đồ họa vector nhúng. Chúng ta sẽ xem xét SVG trong bài viết tiếp theo của mô-đun

Bạn có thể nhúng toàn bộ trang web không?

Có một loại trang mới trong Google Site– nhúng toàn trang . Điều này có nghĩa là bạn có thể nhúng toàn bộ trang web vào Google Site của mình. Tính năng này rất phù hợp để nhúng các công cụ khác cho lớp học của bạn như Padlet, Wakelet, Popplet… BẤT CỨ ĐIỀU GÌ.

Bạn có thể có một trang web trong một trang web?

Đây là phương pháp tiếp thị Web của xây dựng các khu vực nội dung cụ thể trong Trang web của bạn để trở thành các trang web nhỏ trong Trang web chính của công ty bạn . Các trang web nhỏ, trang phụ hoặc trang web vi mô này có hiệu quả trong việc nhắm mục tiêu các phân khúc thị trường riêng lẻ cho các sản phẩm và dịch vụ của bạn.

Chủ Đề