2015年3月28日

Blogger 單篇文章瀏覽數 V2﹍(2) 新版本特點及安裝程式碼

A+
既然改了版,V2 程式碼順便改善舊版的某些功能。舊版要在一個頁面、多個位置擺放計數器不太方便,新版的優點為,一篇頁面要在多少個位置擺放計數器都沒有限制,程式彼此間不會打架。

因此裝了 V2 後,如果你熟悉程式碼,只要發揮想像力,可以自己想辦法擴充到其他 Blogger 工具,例如最新文章、熱門文章、相關文章、隨機文章...等等,只要其他能顯示文章的小工具,也能出現文章的瀏覽數。

以下接續「Blogger 單篇文章瀏覽數 V2﹍(1) 取得 Google Analytics 數據」的步驟。



四、讓試算表資料能被讀取


1. 第二個試算表我已經建立好範本,請進入以下網址:


按「檔案」→「建立副本」→「輸入新文件名稱」後,這份試算表副本會出現在自己的 Google Drive 文件,我們稱它為「試算表 B」。


2. 在「試算表 B」主畫面按下「工具」→「指令碼編輯器」



出現上圖後,按下「資源」→「現有專案的啟動程序」

在出現的視窗按下「尚未建立觸發程序,按一下這裡來新增觸發程序。」




如上圖顯示,依序設定為「時間導向」→「小時計時器」→「每隔4小時」

按下「儲存」→ 出現需要授權的畫面 → 按「繼續」→「接受」




3. 回到原來畫面,我們需要設定讀取「試算表 A」的 GA 數據。如上圖,在程式碼的第一行,反白部分的字串,請填入上一篇 →「三、製作試算表資料庫」→ 步驟 1 → 自己的「試算表 A」ID 代號字串。

修改完畢後,按圖中紅框的「儲存」圖示。




4. 接著按下「執行」→「getUrlPv」,看看能否將資料從「試算表 A」的 "sheet1" 複製到「試算表 B」的 "sheet2"。




執行完畢後,回到「試算表 B」主畫面,檢視工作表 "sheet2"有沒有如上圖產生資料。

成功的話,準備將資料發佈到網路上供存取。

按下「檔案」→「發佈到網路」→ 按下「發佈」按鈕




如上圖,紅線標示的字串是最重要的資訊,長得像這樣 "1UpIjRSixVWYlQnrcSceMb3ATRXlRiKqV_CTc03XyHDc",這是試算表的代號,請記下自己的字串,位於 "/d/" ~ "/pubhtml" 之間的所有字串,之後會用到。

到了這裡,如果都成功的話,恭喜你可以自行安裝「單篇文章瀏覽數 V2」了。新版程式碼的費用,可以用轉帳、或「會員中心」的點數支付,然後請用文末的表單與我聯繫,並附上你的部落格網址,會用 email 寄出新版程式碼。轉帳資訊請見這個網頁:




五、安裝程式碼


1. 安裝新版程式碼之前,務必先移除舊版的所有程式碼。

2. 在修改範本之前,如果第一次安裝本站工具的讀者,建議先閱讀「備份範本的訣竅」系列文章。

3. 拿到新版程式碼後,請到後台「範本」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 </head> 這個字串,找到後在此字串的前一行,插入新版程式碼。以下擷取程式碼的前幾行、需要設定的部分來說明:


B:這一行可參考「引用 jQuery 的注意事項」,若範本中已經安裝過 jQuery,可移除這段內容。

G:紅字參數請改為上面「四、讓試算表資料能被讀取」最後面、自己的試算表代號。

H:藍字參數為圖示的網址,可改為自訂的圖示網址。請勿必保留圖示,因圖示含版權連結。若要移除版權連結請與 WFU 聯繫。


    4. 接著以下程式碼,請放在計數器想要顯示的地方:

    <!-- 單篇文章計數器v2 顯示位置 start -->
    <span class='postPV' expr:data-url='data:post.canonicalUrl'>
    <script>
    (function () {
    var scripts = document.getElementsByTagName("script"),
    thisScript = scripts[scripts.length - 1];
    pvCount.main(thisScript.parentNode);
    } )();
    </script>
    </span>
    <!-- 單篇文章計數器v2 顯示位置 end -->


    如果不清楚要擺放在哪裡,可以參考「Blogger 單篇文章瀏覽數」→「四、擺放位置」



    六、常見 FAQ


    日後若有常見問題,會持續補充在此。

    Q1: 新文章會有無法顯示瀏覽數量的問題?

    Ans: 當 GA 還沒有新文章的數據時,會無法顯示瀏覽數,請等待一段時間,或用他人電腦點擊新文章,讓新文章產生數據。


    Q2: 一開始有顯示瀏覽數,但後來又無法顯示了?

    Ans: 如果確定 sheet2 裡面有數據,但網頁卻無法顯示瀏覽數的話,請檢查一下 sheet2 這個工作表,是否位於試算表中第三個工作表的位置。


    Q3: GA 抓數據的試算表,好像會中斷 "定時抓數據" 的功能?

    Ans: 我也有發現這件事,應該是 Google 試算表的問題。可按以下步驟自行檢驗:
    • 進入試算表 → 看看「GA 數據」這個試算表的更新時間。由於「GA 數據」會每小時自動更新,如果你看到的更新時間,不在一小時內,那就是停止自動更新了。
    • 「GA 數據」停止自動更新時,請進入這個試算表 → 上一篇「Blogger 單篇文章瀏覽數 V2﹍(1) 取得 Google Analytics 數據」→「三、製作試算表資料庫」→ 步驟 7,檢查「Enable reports to run automatically」是否有勾選。
    • WFU 有時發現這裡會被取消勾選,請重新勾選即可。
    • 但是,有時檢查「Enable reports to run automatically」也是有勾選,卻仍然沒更新數據 → 這依然是 Google 後台的問題,那麼我會先取消勾選、儲存,再重新勾選、儲存,強制更新後台設定,通常這樣就可以了。



    七、聯絡表單


    如果以上流程要自行安裝有困難,或是要索取安裝程式碼,請附上你的部落格網址,用下面的表單與我聯繫。

    聯絡表單:




    更多實用工具:

    21 則留言:

    1. 單篇計數器果然還是安裝最繁瑣的= =

      回覆刪除
      回覆
      1. Blogger 未開放後台數據之前,只能這麼做...XD

        刪除
    2. 前顯易懂,非常專業,連我這個電腦白癡都可以上手,超級感謝>"<

      回覆刪除
    3. 用了兩星期多後發現有點小問題@_@
      我的試算表似乎不會自動抓數據,例如一篇新文章我放了好幾天,計數器都沒出現,
      然後我要手動進行
      按下「外掛程式」→「Google Ananlytics」→「Run reports」

      「執行」→「getUrlPv」
      才讓計數器成功更新……
      WFU有空可以看看為什麼會這樣嗎?
      https://docs.google.com/spreadsheets/d/108FD81zLvvSwjFhIqIIFNpvhtEUWJEYWatOI2Xq21_A/pubhtml

      回覆刪除
      回覆
      1. 聽你的敘述是自動執行的部分沒有觸發,我沒有權限對你的試算表進行任何操作,所以你只能自己檢查了喔:

        1. GA 的外掛是否設定為每小時更新一次
        2. 「四、讓試算表資料能被讀取」→ 是否設定為「時間導向」→「小時計時器」→「每隔4小時」

        這兩篇的流程可以再逐一檢查一下。

        刪除
      2. http://i.imgur.com/QUNR1fM.png
        http://i.imgur.com/YXzGquP.png

        是指這兩張圖的設定嗎?我都設定好了>"<
        昨晚發現了這問題後有把每隔4小時轉為每小時,不過也沒用的樣子。

        刪除
      3. 是那兩個沒錯~

        如果沒用的話,我目前想到的是,大概你之前舊版的試算表,可能還在偷偷運作,佔用了伺服器的執行時間 quota,導致新的試算表沒時間執行。

        你可以把所有舊版的計數器試算表全部刪除 → 而且也要到垃圾桶去完全清除,因為垃圾桶裡的試算表還是會執行。先這麼試試看,再觀察一下吧~

        刪除
      4. 這很有可能!我先刪掉看看再觀察~謝謝!

        刪除
      5. 我跟 toa to 碰上同樣的問題,新文章擺幾天也沒出現計數,但我沒有舊版的試算表,目前暫時使用 toa to 提供的方式讓新文章的計數出現。

        刪除
      6. 這陣子 Google 試算表的 GA 外掛壞了,無法自動更新,還在等官方修復中~~

        目前我也是先用手動更新的方式,如果過幾個禮拜官方還沒動作的話,只好到時再自己來寫了...

        刪除
      7. 原來如此,因為我新文太少,沒注意到 XD

        刪除
      8. @阿噗醬, @toa, @ala,

        官方遲遲未回應,我已經找到解決方法了,不過試算表得重新製作,舊試算表請捨棄。

        1. 請先備份原來的安裝程式碼

        2. 從第一篇的流程從頭開始,一直到本篇結束,必須製作兩個試算表。

        3. 將新的試算表參數,填入安裝程式碼。

        刪除
      9. 感謝,已更新,回報一下情況。
        瀏覽數量可自動更新了,但新文章無法顯示瀏覽數量的問題仍在。

        刪除
      10. 新文章已經可顯示瀏覽數量了,確實如你所言,是 GA 一開始還沒有收集到瀏覽次數,所以沒出來,Thanks。

        刪除
      11. 我也成功了!謝謝WFU~

        刪除
      12. 咦,我剛才明明真的看到瀏覽數量成功顯示的,過了兩小時多的現在就不見了囧

        刪除
      13. @ala, good! 我把這一點加入常見 FAQ

        @toa, 因為「試算表B」抓的數據,會自動在「試算表A」產生 shee1 這個工作表 → 請確認自動插入的 sheet1, 是否能把 sheet2 擠到第三個工作表?

        或者是你曾移動過 sheet2 的位置? → 總之 sheet2 必須在第三個工作表的位置, 才能被網頁讀取。

        刪除
      14. 我懂了,不知為什麼多了一個叫sheet0的工作表,
        刪除後就顯示出來了。
        謝謝~

        刪除
      15. @toa, sheet0 是新流程特地新增的試算表,目的是為了將 sheet2 擠到第三個工作表的位置。因為不清楚你的工作表內容,不過如果刪了 sheet0,能讓試算表正常運作,那麼就無妨~~重點在於 sheet2 在第三個位置即可!

        刪除
    4. 天阿,剛剛想說怎麼沒效了。 Orz 連過來看才知道又更新了... 有空再來改好了

      回覆刪除

    張貼留言注意事項:

    ◎ 勾選「通知我」可收到後續回覆的mail!
    提問請附網址、詳細描述狀況,如提供的資訊不足,則無法回覆。
    ◎ 請在相關文章留言,與文章無關的主題請至「Blogger 中文論壇」。
    ◎ 若詢問 CSS 、非官方範本問題、或貴站為商業網站 ,請參考「本站諮詢頁面」→「1. 諮詢服務」
    ◎ 若留言要輸入語法,"<"、">"這兩個符號請用其他符號代替,否則語法會消失!
    ◎ 若發現留言不見了,通常是因為 "複製貼上" 的內容常被系統判定為垃圾留言,請不用擔心,我會定期將留言恢復。
    ◎ 本站「已關閉自刪留言功能」。