所有選項均為可選。以下數值是你省略某個選項時,客戶端會套用的預設值。
JavaScript
const entase = new Entase({
pk: null,
locale: 'auto',
checkoutMode: 'auto',
collectConsent: true,
backdrop: true,
backdropColor: '#000000',
tprm: {},
pane: { width: 800, height: '100%' },
popup: { width: 800, height: 1000 }
});選項
| 名稱 | 類型 | 預設值 | 說明 |
|---|---|---|---|
pk | 字串 | null | 你的可公開金鑰。客戶端會在檢查你的網域是否獲允許使用嵌入式結帳時傳送此金鑰。沒有此金鑰時,每次結帳都會以彈出式視窗開啟。 |
locale | 字串 | 'auto' | 結帳的語言。'auto' 會讀取 <html> 元素的 lang 屬性。 |
checkoutMode | 字串 | 'auto' | 'auto'、'pane' 或 'popup'。請參閱結帳模式。無法識別的值會回退至 'auto'。 |
collectConsent | 布林值 | true | 結帳是否要求訪客接受條款通知。接受後,答案會儲存在 Cookie 中,並略過此步驟。 |
backdrop | 布林值 | true | 是否調暗結帳後方的頁面。false 亦會停用頁面捲動鎖定。 |
backdropColor | 字串 | '#000000' | 調暗區域的顏色,以 CSS 顏色值表示。 |
tprm | 物件 | {} | 作為查詢參數附加到結帳 URL 的追蹤參數。請參閱追蹤和同意。 |
pane | 物件 | { width: 800, height: '100%' } | 嵌入式面板的大小。在彈出式視窗模式中會被忽略。 |
popup | 物件 | { width: 800, height: 1000 } | 彈出式視窗的大小,以像素為單位。在面板模式中會被忽略。 |
面板和彈出式視窗大小設定
pane.width 可接受數字(像素)或任何 CSS 長度值 – '720px'、'50%'、'40vw' 或 calc() 運算式。純數字會視為像素。
在桌面裝置上,面板寬度上限為此數值;在流動裝置上則會佔用完整寬度,並改為套用 pane.height。當檢視區寬度小於設定寬度時,便會在兩者之間切換;如寬度以相對單位指定,則會在 800px 時切換。
popup.width 和 popup.height 只接受以像素表示的數字,視窗會置中顯示於訪客的螢幕上。如螢幕高度不足以容納所要求的高度,視窗會縮小以配合螢幕。
背景遮罩
彈出式視窗後方的背景遮罩會比面板後方調暗得更深,因為彈出式視窗需要讓下方頁面顯示為非使用中狀態。設定 backdrop: false 可完全移除調暗效果 – 這亦會讓頁面在結帳視窗後方保持可捲動。
backdropColor 會原樣套用,因此可以是任何有效的 CSS 顏色。請用它來配合深色或具品牌風格的網站,而非用來隱藏背景遮罩;如要這樣做,正確的選項是 backdrop: false。
按預訂覆寫
你可將 checkoutMode、collectConsent、backdrop、backdropColor、pane 和 popup 傳遞至 book(),以覆寫單一預訂的設定。實例層級的值會維持不變,供後續呼叫使用:
JavaScript
const entase = new Entase({ pk: 'YOUR_PUBLISHABLE_KEY' });
// This one booking opens wider, with no dimming.
entase.book('EVENT_ID', {
pane: { width: '60vw' },
backdrop: false
});pk 和 tprm 並非按預訂選項 – pk 用於識別整個頁面的帳戶,而需要不同的追蹤參數時,則應使用 setTracking() 變更。