雖然 Line 很久以前就釋出可以安裝在部落格網站的分享按鈕,不過之前幫忙朋友安裝時,實地測試各種不同裝置後,發現效果都不太一樣:
1. 網頁版:沒有作用
2. 行動裝置(平板):字串有網址的話會失效
3. 手機版:執行正常
因此研究了一下問題出在哪,以下先描述大致的情況,想要直接安裝語法請跳至「二、所有網站通用的語法」。
一、行動裝置異常狀況
1. 官網語法
根據「官方網站」,Line 分享按鈕的安裝語法如下:
<a href="http://line.naver.jp/R/msg/text/?訊息文字"><img src="圖片網址"/></a>
2. 美化分享內容
根據這篇「Line分享按鈕及連結」,作者將 "訊息文字" 拆解並進行版面美化,讓訪客分享的文字訊息第一行顯示文章標題,接著利用特殊符號 "%0D%0A" 產生自動斷行效果,於第二行再顯示文章網址。這樣分享出去的訊息,就能直接點擊超連結,連回我們的文章網址。利用其語法原理產生的語法大致如下:
<a href="http://line.naver.jp/R/msg/text/?文章標題%0D%0A文章網址"><img src="圖片網址"/></a>
3. 平板異常狀況
將以上語法裝到網站上,經實測結果,手機裝置按下 Line 分享按鈕後,執行效果沒問題,Line 的分享訊息第一行會出現文章標題,接著斷行、第二行產生文章網址。
但在平板裝置,出現的畫面如下:
- 紅框可看到換行符號 "%0D%0A" 無法被解譯
- 紅圈可看到網址最後面會自動產生 "=" 這個字元
- 錯誤的網址導致訪客無法連結到我們文章頁面
為了解決以上問題,Line 的分享按鈕語法必須重新設計。
二、所有網站通用的語法
以下為 2017.1.20 更新過的語法,網頁版的程式碼參考自這篇「【JS】LINE分享方法」:
<!-- Line 分享按鈕 -->
<script>
//<![CDATA[
(function() {
var img = "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7r3hMHSFembigm48HfBA6NYqh4bNeRN8qI7hJ-a6IEiPeyXSTirex7LBsrqF_XIwBlMC1lF_tef09igeqm-oyslJ8QQUb1kSDrWtNsPRKUt9qP1Qs3JeLGnHHx6mX-UdRw6ta3_0Ngo/s1600/line-share-button.png", // line 按鈕圖示
title = document.title,
url = "http://" + location.hostname + location.pathname,
href, html;
// 行動裝置語法
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
href = "http://line.naver.jp/R/msg/text/?" + title + "%0D%0A" + url;
} else {
// 網頁版語法
href = "https://lineit.line.me/share/ui?url=" + encodeURIComponent(url);
}
html = "<a href='" + href + "' target='_blank'><img src='" + img + "'/></a>";
document.write(html);
})();
//]]>
</script>
<!-- Designed by WFU BLOG -->
以上語法請擺在網頁想顯示的位置即可,綠色字串可改為自訂的按鈕圖片網址。
此程式碼的效果大致如下面這個 Line 分享按鈕,可在自己的網頁版、手機或行動裝置測試執行狀況:
三、Blogger 安裝語法
以下根據「二、所有網站通用的語法」,改成適合 Blogger 安裝的語法,請放在範本之中:
<!-- Line 分享按鈕 -->
<a expr:href='data:blog.isMobile ? "http://line.naver.jp/R/msg/text/?" + data:blog.pageName + "%0D%0A" + data:blog.canonicalUrl : "https://lineit.line.me/share/ui?url=" + data:blog.canonicalUrl' target='_blank'><img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7r3hMHSFembigm48HfBA6NYqh4bNeRN8qI7hJ-a6IEiPeyXSTirex7LBsrqF_XIwBlMC1lF_tef09igeqm-oyslJ8QQUb1kSDrWtNsPRKUt9qP1Qs3JeLGnHHx6mX-UdRw6ta3_0Ngo/s1600/line-share-button.png'/></a>
<!-- Designed by WFU BLOG -->
更多社交分享按鈕工具:
試用成功,真讚!感恩!
回覆刪除您好,我在TUMBLR網誌上嘗試您的教學,但在手持裝置上都無法正確顯示,不知道該怎麼辦,麻煩您了
回覆刪除如果要分享的網頁網址是數字IP類型的,則在Line那一端標題及圖片就都不會出現了,請問有解決的方法嗎?謝謝!
回覆刪除您好:我是昨天向您提問的人,我的意思是http://163.23.80.80會指向http://www.mses.chc.edu.tw,都是彰化縣民生國民小學的網站,但是在電腦使用line發連結訊息時,下列方式顯示的資訊就不同了。
回覆刪除https://lineit.line.me/share/ui?url=http://163.23.80.80
https://lineit.line.me/share/ui?url=http://www.mses.chc.edu.tw
(我無法附圖給您,請您試一下就知道了,謝謝!)
謝謝您的回答,只是用個人電腦架了伺服器(沒有固定IP,所以也沒有網域名稱)試試看而已,試了很久才發現有這樣的差異性存在,如果無解就算了,搞不好日後Line升級後就解決了,麻煩您了,謝謝!
回覆刪除大大您好,上述二所有網站通用的語法,要如何設置按下分享是可 (指定網址分享), 比如語法放在任一網頁上但我都是要分享網址為首頁網址或其他子目錄下的網址
回覆刪除很實用,謝謝分享。
回覆刪除