Một đối tượng HtmlOutput có thể được phân phát từ một tập lệnh. Do các yếu tố bảo mật, tập lệnh không thể trực tiếp trả về HTML cho trình duyệt. Thay vào đó, chúng phải dọn dẹp dữ liệu đó để không thể thực hiện các hành động độc hại. Bạn có thể trả về HTML đã được dọn dẹp như sau:
function doGet() { return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); }
HtmlOutput có thể bao gồm JavaScript và CSS được nhúng. (Đây là JavaScript tiêu chuẩn phía máy khách thao tác với DOM, chứ không phải Apps Script). Tất cả nội dung này đều được cách ly bằng cơ chế cách ly iframe. Để biết thêm thông tin, hãy xem hướng dẫn về các hạn chế trong dịch vụ HTML.Phương thức
| Phương thức | Kiểu dữ liệu trả về | Mô tả ngắn |
|---|---|---|
add | Html | Thêm một thẻ meta vào trang. |
append(addedContent) | Html | Thêm nội dung mới vào nội dung của Html này. |
append | Html | Nối nội dung mới vào nội dung của Html này, bằng cách sử dụng tính năng thoát theo ngữ cảnh. |
as | Html | Trả về một Html được hỗ trợ bởi Html này. |
clear() | Html | Xoá nội dung hiện tại. |
get | Blob | Trả về dữ liệu bên trong đối tượng này dưới dạng một blob được chuyển đổi sang loại nội dung đã chỉ định. |
get | Blob | Trả về dữ liệu bên trong đối tượng này dưới dạng một blob. |
get | String | Lấy nội dung của Html này. |
get | String | Lấy URL cho thẻ liên kết biểu tượng trang web do set thêm vào trang. |
get | Integer | Lấy chiều cao ban đầu của hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. |
get | Html | Lấy một mảng các đối tượng đại diện cho thẻ meta được thêm vào trang bằng cách gọi add. |
get | String | Lấy tiêu đề của trang đầu ra. |
get | Integer | Lấy chiều rộng ban đầu của hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. |
set | Html | Đặt nội dung của Html này. |
set | Html | Thêm thẻ liên kết cho biểu tượng trang web vào trang. |
set | Html | Đặt chiều cao ban đầu của hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. |
set | Html | Phương thức này hiện không có hiệu lực – trước đây, phương thức này đặt sandbox
mode dùng cho tập lệnh phía máy khách. |
set | Html | Đặt tiêu đề cho trang đầu ra. |
set | Html | Đặt chiều rộng ban đầu của một hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. |
set | Html | Đặt trạng thái của tiêu đề X-Frame-Options của trang, kiểm soát việc ngăn chặn hành vi tấn công bằng cách nhấp chuột. |
Tài liệu chi tiết
addMetaTag(name, content)
Thêm một thẻ meta vào trang. Các thẻ meta được đưa trực tiếp vào tệp HTML Apps Script sẽ bị bỏ qua. Bạn chỉ được phép sử dụng các thẻ meta sau:
<meta name="apple-mobile-web-app-capable" cont>e<nt="..."/ meta name="google-site-ver>i<fication" content="..."/ meta name>=<"mobile-web-app-capable" >content="..."/ meta name="viewport" content="..."/
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
name | String | Giá trị của thuộc tính name trong thẻ meta. |
content | String | Giá trị của thuộc tính nội dung của thẻ meta. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
append(addedContent)
Thêm nội dung mới vào nội dung của HtmlOutput này. Chỉ sử dụng tham số này cho nội dung từ một nguồn đáng tin cậy, vì tham số này không được thoát.
// Log &<q>uot;bHello, w<or><l>d!/bpHello again, w<or>ld./p" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'<)>; output.append(<9;>pHello again, world./p'); Logger.log(output.getContent());
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
added | String | Nội dung cần thêm vào. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
Gửi
Error – nếu HTML có định dạng không đúng
Xem thêm
appendUntrusted(addedContent)
Nối nội dung mới vào nội dung của HtmlOutput này, bằng cách sử dụng tính năng thoát theo ngữ cảnh.
Phương thức này thoát nội dung một cách chính xác dựa trên trạng thái hiện tại của HtmlOutput, sao cho kết quả là một chuỗi an toàn không có đánh dấu hoặc tác dụng phụ. Hãy sử dụng phương thức này thay vì sử dụng phương thức append bất cứ khi nào bạn thêm nội dung từ một nguồn không đáng tin cậy (chẳng hạn như từ người dùng) để tránh vô tình cho phép lỗi tập lệnh trên nhiều trang web (XSS) trong đó nội dung hoặc mã đánh dấu mà bạn thêm vào gây ra quá trình thực thi mã không mong muốn.
// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.</pgt;" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); output<.>appendUntrusted(<9;>pHello again, world./p'); Logger.log(output.getContent());
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
added | String | Nội dung cần thêm vào. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
Gửi
Error – nếu HTML có định dạng không chính xác
Xem thêm
asTemplate()
Trả về một HtmlTemplate được hỗ trợ bởi HtmlOutput này. Bạn có thể dùng phương thức này để tăng dần việc tạo mẫu. Những thay đổi sau này đối với HtmlOutput cũng ảnh hưởng đến nội dung của HtmlTemplate.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); const template = output.asTemplate();
Cầu thủ trả bóng
HtmlTemplate – HtmlTemplate mới.
clear()
Xoá nội dung hiện tại.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.clear();
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
getAs(contentType)
Trả về dữ liệu bên trong đối tượng này dưới dạng một blob được chuyển đổi sang loại nội dung đã chỉ định. Phương thức này sẽ thêm đuôi thích hợp vào tên tệp, chẳng hạn như "myfile.pdf". Tuy nhiên, phương thức này giả định rằng phần tên tệp theo sau dấu chấm cuối cùng (nếu có) là một tiện ích hiện có cần được thay thế. Do đó, "ShoppingList.12.25.2014" sẽ trở thành "ShoppingList.12.25.pdf".
Để xem hạn mức hằng ngày cho lượt chuyển đổi, hãy xem Hạn mức cho các dịch vụ của Google. Các miền Google Workspace mới tạo có thể tạm thời phải tuân thủ hạn mức nghiêm ngặt hơn.
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
content | String | Loại MIME cần chuyển đổi. Đối với hầu hết các blob, 'application/pdf' là lựa chọn hợp lệ duy nhất. Đối với hình ảnh ở định dạng BMP, GIF, JPEG hoặc PNG, mọi định dạng 'image/bmp', 'image/gif', 'image/jpeg' hoặc 'image/png' cũng đều hợp lệ. Đối với tài liệu Google Tài liệu, 'text/markdown' cũng hợp lệ. |
Cầu thủ trả bóng
Blob – Dữ liệu dưới dạng một blob.
getBlob()
Trả về dữ liệu bên trong đối tượng này dưới dạng một blob.
Cầu thủ trả bóng
Blob – Dữ liệu dưới dạng một blob.
getContent()
Lấy nội dung của HtmlOutput này.
// Log &<q>uot;bHello, w<or>ld!/b" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); Logger.log(output.getContent());
Cầu thủ trả bóng
String — Nội dung được phân phát.
getFaviconUrl()
Lấy URL cho thẻ liên kết biểu tượng trang web do setFaviconUrl(iconUrl) thêm vào trang. Các thẻ đường liên kết biểu tượng trang web được đưa trực tiếp vào tệp HTML của Apps Script sẽ bị bỏ qua.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Cầu thủ trả bóng
String – URL của hình ảnh biểu tượng trang web.
getHeight()
Lấy chiều cao ban đầu của hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. Nếu HtmlOutput được xuất bản dưới dạng một ứng dụng web, thì phương thức này sẽ trả về null. Để đổi kích thước một hộp thoại đã mở, hãy gọi
google.script.host.setHeight(height) trong mã phía máy khách.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200); Logger.log(output.getHeight());
Cầu thủ trả bóng
Integer – Chiều cao, tính bằng pixel.
getMetaTags()
Lấy một mảng các đối tượng đại diện cho thẻ meta được thêm vào trang bằng cách gọi addMetaTag(name, content). Các thẻ meta được đưa trực tiếp vào tệp HTML Apps Script sẽ bị bỏ qua.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); const tags = output.getMetaT<ags(); Logger.log( '>meta name="%s" content="%s"/', tags[0].getName(), tags[0].getContent(), );
Cầu thủ trả bóng
HtmlOutputMetaTag[] – Một mảng các đối tượng đại diện cho thẻ meta được thêm vào trang bằng cách gọi addMetaTag(name, content).
getTitle()
Lấy tiêu đề của trang đầu ra. Xin lưu ý rằng phần tử HTML <title> sẽ bị bỏ qua.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); Logger.log(output.getTitle());
Cầu thủ trả bóng
String – Tiêu đề của trang.
getWidth()
Lấy chiều rộng ban đầu của hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. Nếu HtmlOutput được xuất bản dưới dạng một ứng dụng web, thì phương thức này sẽ trả về null. Để đổi kích thước một hộp thoại đã mở, hãy gọi
google.script.host.setWidth(width) trong mã phía máy khách.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200); Logger.log(output.getWidth());
Cầu thủ trả bóng
Integer – Chiều rộng tính bằng pixel.
setContent(content)
Đặt nội dung của HtmlOutput này.
const output = HtmlService.createHtmlOutput(); output.setContent(&<#>39;bHello, wo<rl>d!/b');
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
content | String | Nội dung cần phân phát. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
Gửi
Error – nếu HTML có định dạng không đúng
setFaviconUrl(iconUrl)
Thêm thẻ liên kết cho biểu tượng trang web vào trang. Các thẻ đường liên kết biểu tượng trang web được đưa trực tiếp vào tệp HTML Apps Script sẽ bị bỏ qua.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png');
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
icon | String | URL của hình ảnh biểu tượng trang web, với phần mở rộng của hình ảnh cho biết loại hình ảnh. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
setHeight(height)
Đặt chiều cao ban đầu của hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. Nếu HtmlOutput được xuất bản dưới dạng một ứng dụng web, thì phương thức này sẽ không có hiệu lực. Để đổi kích thước một hộp thoại đã mở, hãy gọi
google.script.host.setHeight(height) trong mã phía máy khách.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200);
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
height | Integer | Chiều cao mới tính bằng pixel; null sẽ cho ra giá trị mặc định. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
setSandboxMode(mode)
Phương thức này hiện không có hiệu lực – trước đây, phương thức này đặt sandbox
mode dùng cho tập lệnh phía máy khách. Để bảo vệ người dùng khỏi việc bị phân phát HTML hoặc JavaScript độc hại, mã phía máy khách được phân phát từ dịch vụ HTML sẽ thực thi trong một hộp cát bảo mật áp đặt các hạn chế đối với mã. Ban đầu, phương thức này cho phép tác giả tập lệnh chọn giữa các phiên bản hộp cát, nhưng hiện tại, tất cả tập lệnh đều sử dụng chế độ IFRAME bất kể chế độ hộp cát nào được đặt. Để biết thêm thông tin, hãy xem hướng dẫn về các hạn chế trong dịch vụ HTML.
Chế độ IFRAME áp dụng ít quy định hạn chế hơn nhiều so với các chế độ hộp cát khác và chạy nhanh nhất, nhưng hoàn toàn không hoạt động trong một số trình duyệt cũ, bao gồm cả Internet Explorer 9. Bạn có thể đọc chế độ hộp cát trong tập lệnh phía máy khách bằng cách kiểm tra google.script.sandbox.mode. Xin lưu ý rằng thuộc tính này trả về chế độ thực tế trên ứng dụng, có thể khác với chế độ được yêu cầu trên máy chủ nếu chế độ được yêu cầu không được hỗ trợ trong trình duyệt của người dùng.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
mode | Sandbox | Chế độ hộp cát để sử dụng. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
setTitle(title)
Đặt tiêu đề cho trang đầu ra. Đối với ứng dụng web, đây là tiêu đề của toàn bộ trang, còn đối với HtmlOutput xuất hiện trong Google Trang tính, đây là tiêu đề của hộp thoại.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setTitle('My First Page');
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
title | String | Tiêu đề mới. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
setWidth(width)
Đặt chiều rộng ban đầu của một hộp thoại tuỳ chỉnh trong Google Tài liệu, Trang tính hoặc Biểu mẫu. Nếu HtmlOutput được xuất bản dưới dạng một ứng dụng web, thì phương thức này sẽ không có hiệu lực. Để đổi kích thước một hộp thoại đã mở, hãy gọi
google.script.host.setWidth(width) trong mã phía máy khách.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200);
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
width | Integer | Chiều rộng mới tính bằng pixel; null sẽ cho ra giá trị mặc định. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.
setXFrameOptionsMode(mode)
Đặt trạng thái của tiêu đề X-Frame-Options của trang, kiểm soát việc ngăn chặn hành vi tấn công bằng cách nhấp chuột.
Việc đặt XFrameOptionsMode.ALLOWALL cho phép mọi trang web tạo iframe cho trang, vì vậy, nhà phát triển nên triển khai biện pháp bảo vệ riêng để chống tấn công giả mạo lượt nhấp.
Nếu một tập lệnh không đặt chế độ X-Frame-Options, thì Apps Script sẽ dùng chế độ XFrameOptionsMode.DEFAULT làm chế độ mặc định.
// Serve HTML with no X-Frame-Options header (in Apps Script server-side code). const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Thông số
| Tên | Loại | Mô tả |
|---|---|---|
mode | XFrameOptionsMode | Chế độ XFrameOptions cần đặt. |
Cầu thủ trả bóng
HtmlOutput – Kết quả này dùng để liên kết.