Đối tượng HtmlOutput
có thể được phân phát từ một tập lệnh. Do những điều cần cân nhắc về bảo mật, các tập lệnh không thể trực tiếp trả về HTML cho trình duyệt. Thay vào đó, họ 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('<b>Hello, world!</b>'); }Mã trong
HtmlOutput
có thể bao gồm JavaScript và CSS được nhúng. (Đây là JavaScript phía máy khách tiêu chuẩn thao tác DOM, không phải Apps Script). Tất cả nội dung này đều được tạo hộp cát bằng hộp cát khung nội tuyến. Để 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 |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Thêm thẻ meta vào trang. |
append(addedContent) | HtmlOutput | Thêm nội dung mới vào nội dung của HtmlOutput này. |
appendUntrusted(addedContent) | HtmlOutput | Thêm nội dung mới vào nội dung của HtmlOutput này bằng cách sử dụng ký tự thoát theo ngữ cảnh. |
asTemplate() | HtmlTemplate | Trả về HtmlTemplate được hỗ trợ bởi HtmlOutput này. |
clear() | HtmlOutput | Xoá nội dung hiện tại. |
getAs(contentType) | 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 thành loại nội dung được chỉ định. |
getBlob() | Blob | Trả về dữ liệu bên trong đối tượng này dưới dạng một blob. |
getContent() | String | Xem nội dung của HtmlOutput này. |
getFaviconUrl() | String | Lấy URL của thẻ liên kết biểu tượng trang web được thêm vào trang bằng cách gọi setFaviconUrl(iconUrl) . |
getHeight() | 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. |
getMetaTags() | HtmlOutputMetaTag[] | 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) . |
getTitle() | String | Lấy tiêu đề của trang đầu ra. |
getWidth() | 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. |
setContent(content) | HtmlOutput | Thiết lập nội dung của HtmlOutput này. |
setFaviconUrl(iconUrl) | HtmlOutput | Thêm thẻ liên kết cho biểu tượng trang web vào trang. |
setHeight(height) | HtmlOutput | Đặ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. |
setSandboxMode(mode) | HtmlOutput | 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. |
setTitle(title) | HtmlOutput | Đặt tiêu đề cho trang đầu ra. |
setWidth(width) | HtmlOutput | Đặ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. |
setXFrameOptionsMode(mode) | HtmlOutput | Đặt trạng thái cho tiêu đề X-Frame-Options của trang để kiểm soát việc ngăn chặn hành vi nhấp chuột. |
Tài liệu chi tiết
addMetaTag(name, content)
Thêm thẻ meta vào trang. Các thẻ meta được đưa trực tiếp vào tệp HTML của Apps Script sẽ bị bỏ qua. Chỉ cho phép các thẻ meta sau:
<meta name="apple-mobile-web-app-capable" content="..."/> <meta name="google-site-verification" content="..."/> <meta name="mobile-web-app-capable" content="..."/> <meta name="viewport" content="..."/>
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
name | String | Giá trị của thuộc tính tên 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
– Đầu ra này để tạo chuỗi.
append(addedContent)
Thêm nội dung mới vào nội dung của HtmlOutput
này. Chỉ sử dụng thuộc tính này cho nội dung từ một nguồn đáng tin cậy vì mã không được thoát.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.append('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
addedContent | String | Nội dung cần nối. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
Gửi
Error
— nếu HTML không đúng định dạng
Xem thêm
appendUntrusted(addedContent)
Thêm nội dung mới vào nội dung của HtmlOutput
này bằng cách sử dụng ký tự 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
để kết quả là một chuỗi an toàn mà không có mã đánh dấu hoặc tác động phụ nào. Sử dụng thuộc tính này thay vì dùng nối thêm 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 việc 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 bạn thêm vào sẽ gây ra quá trình thực thi mã ngoài dự kiến.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
addedContent | String | Nội dung cần nối. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
Gửi
Error
— nếu HTML không đúng định dạng
Xem thêm
asTemplate()
Trả về HtmlTemplate
được hỗ trợ bởi HtmlOutput
này. Bạn có thể sử dụng phương thức này để tạo dần một mẫu. Các thay đổi trong tương lai đối với HtmlOutput
cũng ảnh hưởng đến nội dung của HtmlTemplate
.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Cầu thủ trả bóng
HtmlTemplate
– HtmlTemplate
mới.
clear()
Xoá nội dung hiện tại.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
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 thành loại nội dung được chỉ định. Phương thức này sẽ thêm phần mở rộng thích hợp vào tên tệp – ví dụ: "myfile.pdf". Tuy nhiên, giả định rằng phần tên tệp đứng sau dấu chấm gần nhất (nếu có) là một đuôi tệp hiện có cần được thay thế. Do đó, "ShoppingList.12.25.2014" 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 bài viết 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 tuân theo định mức nghiêm ngặt hơn.
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
contentType | String | Loại MIME cần chuyển đổi. Đối với hầu hết các blob, 'application/pdf' là tuỳ chọn hợp lệ duy nhất. Đối với hình ảnh có định dạng BMP, GIF, JPEG hoặc PNG, mọi giá trị 'image/bmp' , 'image/gif' , 'image/jpeg' hay 'image/png' 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()
Xem nội dung của HtmlOutput
này.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, 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 của thẻ liên kết biểu tượng trang web được thêm vào trang bằng cách gọi setFaviconUrl(iconUrl)
. Các thẻ 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</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 phát hành dưới dạng một ứng dụng web, 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</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 của Apps Script sẽ bị bỏ qua.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); var tags = output.getMetaTags(); 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. Lưu ý rằng phần tử HTML <title> sẽ bị bỏ qua.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</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 phát hành dưới dạng một ứng dụng web, 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</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)
Thiết lập nội dung của HtmlOutput
này.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
content | String | Nội dung cần phân phát. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
Gửi
Error
— nếu HTML không đúng định dạng
setFaviconUrl(iconUrl)
Thêm thẻ liên kết cho biểu tượng trang web vào trang. Các thẻ 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
iconUrl | 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
– Đầu ra này để tạo chuỗi.
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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
height | Integer | Chiều cao mới tính bằng pixel; null dẫn đến một giá trị mặc định. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
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ông bị HTML hoặc JavaScript độc hại phân phát, mã phía máy khách 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 dụng các quy định 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 khác nhau, nhưng giờ đây tất cả cá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
đặt ra ít hạn chế hơn 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
. Lưu ý rằng thuộc tính này trả về chế độ thực tế trên ứng dụng. Chế độ này 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>
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
mode | SandboxMode | Chế độ hộp cát để sử dụng. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
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
hiển thị trong Google Trang tính, đây là tiêu đề của hộp thoại.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
title | String | Tiêu đề mới. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
width | Integer | Chiều rộng mới tính bằng pixel; null dẫn đến một giá trị mặc định. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.
setXFrameOptionsMode(mode)
Đặt trạng thái cho tiêu đề X-Frame-Options
của trang để kiểm soát việc ngăn chặn hành vi nhấp chuột.
Việc đặt XFrameOptionsMode.ALLOWALL
cho phép mọi trang web tạo iframe trang, vì vậy, nhà phát triển nên triển khai cơ chế bảo vệ của riêng mình khỏi hành vi nhấp chuột.
Nếu một tập lệnh không đặt chế độ X-Frame-Options
, thì Apps Script sẽ 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). var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Các tham số
Tên | Loại | Nội dung mô tả |
---|---|---|
mode | XFrameOptionsMode | Cần đặt chế độ tuỳ chọn XFrame. |
Cầu thủ trả bóng
HtmlOutput
– Đầu ra này để tạo chuỗi.