前言

打開 LIFF APP 頁面只能透過點擊聊天視窗內的 LIFF URL 嗎?
在 LIFF APP 中,能不能打開其他的 LIFF APP 頁面?

liff.openWindow()

用 LINE 內部瀏覽器或外部瀏覽器,打開其他 LIFF APP 的頁面。

實作

liff.openWindow 這個方法的參數,是帶有urlexternal屬性的物件。

  • 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() 來開啟外部瀏覽器,讓用戶能利用別的方式來使用這個功能。

參考

--

--

Shan
C.Shan
Editor for

過去學習機械理論,現在撰寫網頁程式。我喜歡唱歌,喜歡畫畫,喜歡旅遊,存在藝術的感性,也兼具工程師的理性。腦容量87%,未來期望用文字、影像紀錄經歷。