前言
打開 LIFF APP 頁面只能透過點擊聊天視窗內的 LIFF URL 嗎?
在 LIFF APP 中,能不能打開其他的 LIFF APP 頁面?
liff.openWindow()
用 LINE 內部瀏覽器或外部瀏覽器,打開其他 LIFF APP 的頁面。
實作
liff.openWindow 這個方法的參數,是帶有url
及external
屬性的物件。
url
: 是執行此方法後,將打開的 LIFF APP 頁面,為必填。external
: 是指打開此頁面是否為外部瀏覽器,是選填,預設值是false
。
如果是false
,是透過 Line App 內部瀏覽器開啟頁面;反之,true
是透過外部瀏覽器開啟頁面。
if (liff.isApiAvailable('multipleLiffTransition')) {
liff.openWindow({
url: "https://line.me/{liffId}", // URL for another LIFF app
external: false
});
}
這個方法也可以搭配其他的 LIFF API,譬如:
if (liff.isApiAvailable('shareTargetPicker')) {
liff.shareTargetPicker([{
type: "text",
text: message
}])
.then(
//alert("ShareTargetPicker was launched")
).catch(function(res) {
//alert("Failed to launch ShareTargetPicker")
})
}
else {
alert("你的 LINE App 暫時不支援 Share Target Picker ,將開始外部瀏覽器。")
liff.openWindow({
url: "{{.LIFFRedirectURL}}",
external: true
});
}
});
當判斷用戶當前的 Line 版本,無法使用 liff.shareTargetPicker() 這支 API 的時候,可以透過 liff.openWindow() 來開啟外部瀏覽器,讓用戶能利用別的方式來使用這個功能。