Quantcast
Channel: WFU BLOG
Viewing all 784 articles
Browse latest View live

國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?

$
0
0
foreign-shopping-credit-card-skill-國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?因為常常需要幫忙購買國外的「Blogger 付費範本」,以及上淘寶購買各種產品,付費的主要管道就是刷信用卡了。

刷卡雖然很方便,但其實隱含的費用我們往往不了解,從信用卡帳單明細也無法看出所以然,就算被坑了可能也感覺不到痛,這正是國外網站刷卡購物的可怕之處!

最近決定花點時間研究這一塊,避免將來繼續被收取超額的匯率、手續費。以下分享我的心得筆記,除了使用特定信用卡有助於國外線上購物,也要小心不同幣別之間的匯率陷阱。

(圖片出處: richart.tw)


一、雙幣信用卡分析


esunbank-dual-currency-card-國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?


1. 直接刷美金

由於網站有 Adsense 廣告收入,WFU 在「大眾銀行美金帳戶」累積了一些金額,第一感是國外刷卡如果用美元支付,應該可以節省匯兌損失。(P.S. Adsense 收入存放到大眾銀行是最佳解)

剛好近幾年有幾家銀行推出了「雙幣卡」,也就是能夠直接用外幣(美元)刷卡,符合我的這項需求,因此研究了一下市面上的雙幣卡,剛好大眾銀行也有發行!


2. 雙幣卡一覽

這篇「2017年雙幣卡現金回饋推薦比較」整理得很詳細,大致重點如下:

  • 都需要年費
  • 國外刷卡現金回饋越高的,年費越高
  • 第 1 名台新銀行國外刷卡回饋 2.5%
  • 第 2 名中國信託國外刷卡現金回饋 2% ~ 2.8%
  • 玉山銀行免收 1.5% 國外交易服務費

非常錯愕的是,大眾銀行今年已經停發了雙幣卡,如果非得要用雙幣卡的話,我得把美金移轉到其他銀行才行。


3. 美金很難移轉

美金並不像台幣一樣,銀行間花個十多元就能轉帳。基本上銀行之間的美金移轉,跟國外銀行結匯是一樣的,例如國內 A 銀行要轉到 B 銀行:

  • A 銀行要先經過國外的中間銀行 C
  • 再回來國內 B 銀行

除了轉到 B 有手續費,國外 C 可能也有一筆手續費,加起來可能近千元。如果轉帳金額不大,這是相當不划算的。


4. 雙幣卡沒有想像的好

因此除非你的外幣帳戶金額非常大,不然雙幣卡並不適合一般消費者使用,光資金的移轉就是大問題,可以說是大戶專用

而且使用雙幣卡刷外幣時,雖然可避免匯損,但一律要另外支付「海外交易手續費 1.5%

前面的雙幣卡比較表,只有玉山免收此費用,但把「國外消費現金回饋」放在一起加總之後,每張卡的刷卡回饋大致在 1% 以下

因此我認為使用雙幣卡不是最好的解決方案,而且還有資金移轉的大問題。



二、高額現金回饋的信用卡


anz-credit-card-國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?


1. 現金回饋不輸雙幣卡

一般而言,國外刷卡產生的費用大致是:

  • 海外交易手續費 1.5%
  • 匯差:隨著匯率波動有可能賺、有可能賠
  • 使用雙幣卡可避免匯損

假設匯損以 1% 來算的話,那麼我認為,找到現金回饋 2.5% 或以上的信用卡,就不輸雙幣卡了,而且不用煩惱銀行間外幣移轉的問題及費用


2. 高額現金回饋信用卡一覽

現在有很多信用卡提供高額的現金回饋,且 Google 就能找到許多整理好的資料,例如:


第一篇文章大致是按照回饋比例排序,可看到最高回饋到 5% (澳盛現金回饋卡)。

第二篇文章我滿喜歡的,現金回饋整理的銀行比較多,不論國外刷卡的話,還詳細列了適合各種用途的卡,例如電信費、水電費、第四台、網路購物等等,而且現金回饋還不少。

我認為從中挑選適合你的信用卡,就足以勝過雙幣卡,可用來解決國外刷卡的問題了。



三、GoGo 卡 + Richard 帳戶


richard-gogo-card-國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?


1. 我的最佳解

從以上相關連結的列表,符合我需求的最佳解是:「GoGo 卡 + Richard 帳戶」,因為:

  • 這張卡主打網路購物,最高有 3.5% 的現金回饋
  • 非網路購物的話,一般消費也可有 1.5% 的現金回饋
  • 國外支付多半使用 PayPal,這張卡有支援
  • 大部分知名國內外網路購物平台都有支援,例如 Amazon,也包含我需要的淘寶網站


2. 介紹 + 申請流程

這張卡相當不錯,只是申請流程跟一般不太一樣,且操作方式也跟一般的網路銀行略有不同,因為「Richard 帳戶」號稱是 Bank 3.0,跟一般的銀行帳號概念不太一樣,需要花一點功夫來熟悉。

詳細的介紹及申請流程,可參考這篇「台新銀行 gogo 卡 Richar 申請流程」,內容相當詳細。



四、外幣刷卡小心 DCC 陷阱


國外刷卡最可怕的是,一次付款被扒兩層皮。可參考這篇「海外刷卡注意事項(DCC.匯率.換算.結賬日)」,所謂 DCC 陷阱大致是這樣:

  • DCC (Dynamic currency conversion) 動態貨幣轉換,會將國外售價轉換為本國貨幣(台幣)計價
  • DCC 由當地收單銀行計算匯率,內含的手續費用不明,難以當下判斷
  • 刷卡地的匯率通常都會比本地匯率差

因此國外刷卡、或是國外購物網站消費時,千萬記得不要用本國貨幣結帳,要使用當地貨幣計價(例如 USD),不然就中了 DCC,得多花不少錢。

這其中很知名的例子,就是 PayPal。



五、PayPal 的 DCC 陷阱


因為 GoGo 卡有支援 PayPal,那麼在 PayPal 綁定 GoGo 卡消費,就能獲得 3.5% 的網路購物現金回饋

不一定所有國外網站都被 GoGo 卡支援,但只要該網站可用 PayPal 消費,那麼 GoGo 卡就能發揮作用了。

然而,在使用 PayPal 之前,務必詳讀以下內容。


1. 修改設定

請參考這篇「刷 Paypal 一定要小心匯率陷阱!」的推文,大部分人用 PayPal 結帳,都是一直按下一步,就不小心用台幣結帳,而中了 DCC。

這個損失大概會有 3%,非常的巨大,而且是完全可以避免的,也代表 PayPal 靠著 DCC 就不知 A 了多少手續費

那麼務必按照這篇「PayPal 匯率非常之爛,請務必去設定使用原幣別扣款!」的步驟,作者後來有更新 PayPal 新版的設定畫面,照著設定後,將來國外購物時,預設就不會是台幣,而是美金付款了。


2. 範例畫面

paypal-1-國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?

上圖是 PayPal 沒改設定之前的畫面,我看到匯率 0.0318 真是嚇了一跳,PayPal 的匯率大約是 1:31.38,而今天台灣銀行的牌告匯率不到 30 呢。

趕緊按照教學文章的設定,修改結帳幣別後重新再下單,果然畫面正常了:

paypal-2-國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?



六、淘寶刷卡也很可怕


esunbank-taobao-atm-國外網站用外幣刷卡購物,要哪種信用卡、如何處理,匯率+手續費才能最划算?


本文主要內容已經結束,這部分算是補充。

有了 PayPal 的借鏡,我趕緊查查淘寶有沒有藏什麼機關,沒想到更恐怖!

1. 玉山銀行 ATM 轉帳

這篇「只需1%手續費的淘寶付款方式」說明了淘寶的刷卡手續費有:

  • 1.5% 國外交易服務費
  • 3% 淘寶手續費

加起來一共是 4.5% 手續費,簡直是天價!

如果有玉山銀行帳號的話,手續費可以達到最低(1%, 無跨行轉帳手續費),不過需要一個滿長的身份認證流程,請按上面這篇文章的教學進行。

這是玉山銀行的「淘寶相關說明」網頁。


2. 郵局 ATM 轉帳

這是最近的消息,不久後使用郵局帳號轉帳也可跟玉山銀行一樣,淘寶付款只需 1% 手續費,詳情可參考這篇「郵局:淘寶網購 手續費我最省」。


更多理財相關文章:

讓 Blogger 首頁每篇文章都能顯示日期

$
0
0
blogger-homepage-post-display-date-讓 Blogger 首頁每篇文章都能顯示日期最近接到一個需求,希望Blogger 首頁每篇文章都能顯示日期,因為同一天發佈的文章只會顯示第一篇的日期。

官方會這麼設計也不能說不合理,從範本程式碼可看出,同一天發佈的所有文章,會集中在同一個區塊(有人說文章會擠在一起,就是這樣的現象)。既然多篇文章放在同一個區塊,那麼重複顯示日期顯然是多餘的。

不過這麼設計,官方可能沒想到的是,Blogger 自由度太高、版型變化太豐富了,例如雜誌型、卡片式的版面,每篇文章各自擁有自己的區塊,此時若無法顯示日期,看起來就有點瞎。

那麼本篇就來看看,有沒有比較簡易的方法,可以解決這樣的問題。

(圖片出處: peakpx.com)


一、官方範本懶人法


1. Hack 範本的缺點

網路上可以找到一些 Hack 範本的作法,等於需要自己為個別文章創建新的區塊,同一天發佈的文章才不會擠在一起。

但創建新的區塊也代表範本的模版、程式碼要大改,這件事對於不熟悉程式碼的使用者來說,是相當危險的事情,一個不小心操作錯誤,可能版型就會爆掉。

那麼這樣的作法,只建議老手採用,而新手的話可安裝以下我寫的懶人包程式碼。


2. 準備動作

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

接著到後台「主題」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 </head>這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。


3. 安裝程式碼

接著請搜尋 <b:include name='nextprev'/>這個字串,官方範本的話應該只會有一個結果,找到後在此字串的前一行,插入以下程式碼:

<!--首頁每篇文章都能顯示日期-->
<script>
//<![CDATA[
(function(a){a(".date-outer").each(function(){var d=a(this),b=a(d.find(".post-outer").get().reverse()),c=b.length;if(c>1){b.each(function(){var f=a(this),e=d.clone();e.find(".post-outer").remove();e.find(".date-posts").append(f);d.after(e)});d.remove()}})})(jQuery);
//]]>
</script>
<!--Designed by WFU BLOG-->

儲存後即可看到效果。



二、非官方範本修改法


如果不是官方範本,大概只能使用以下的變通法。

1. 改用時間戳記

blogger-homepage-post-display-date-1-讓 Blogger 首頁每篇文章都能顯示日期

上圖位於 Blogger 後台 → 設定 → 語言和格式

首頁顯示文章發佈日期的地方,抓的是 A 處「標題日期格式」。

由於同一天發佈的文章,會抓不到「標題日期格式」的數值,那麼我們可以改採「時間戳記格式」。

確定這麼做的話,請先在上圖 B 處選擇想顯示的格式。


2. Blogger 標記語法

以下是範本中,對應的 Blogger 標記語法:

  • 標題日期格式:<data:post.dateHeader/>
  • 時間戳記格式:<data:post.timestamp/>

將範本中「標題日期格式」的標記語法改成「時間戳記格式」,就可達到目的。


3. 修改範本

接下來的修改,一樣很吃經驗值,因為不曉得非官方範本的內容會長得什麼樣。

在範本中搜尋字串 <data:post.dateHeader/>,應該會看到類似以下程式碼:

<b:if cond='data:post.dateHeader'>
<h2 class='date-header'>
<span><data:post.dateHeader/></span>
</h2>
</b:if>


每個搜尋結果都要改,重點是將 if 判斷式刪除,並替換「標題日期格式」的標記語法,例如改成以下:

<h2 class='date-header'>
<span><data:post.timestamp/></span>
</h2>

儲存後即可看到效果,這方法非官方、官方範本都適用。


更多 Blogger 小技巧:

用電子書閱讀器 Onyx (Kepler pro) 看 PTT + RSS 使用心得

$
0
0
onyx-boox-kepler-pro-ptt-rss-用電子書閱讀器 Onyx (Kepler pro) 看 PTT + RSS 使用心得為了減少眼睛看背光螢幕的時間,曾買了 Kindle DX 及「Kindle 8 E-ink 電子書閱讀器」。但用久了之後覺得還是沒有平板來的方便,因為 Kindle 是封閉系統,網路資訊要同步到 Kindle 來閱讀很麻煩,只能遷就 Kindle 提供的 App 或想辦法變通,可參考「稍後閱讀,各種推送到 Kindle 的技巧整理」。

同時,我獲得資訊的重要管道「PTT + RSS」,要把文章移轉到 Kindle 8 是很困難的。為了保護眼睛,必須減少使用平板、手機的時間,因此我開始尋求一種可能性──

  • 有沒有 E-ink 電子書閱讀器可以看 PTT + RSS?
  • 這也就是說,有沒有 E-ink 電子書閱讀器可以執行 Android APP?

雖然早已做好最壞打算,準備找一款 Android 系統的 E-ink 電子書閱讀器來 Root,測試安裝 APP 的效果。不過搜尋的結果,發現有一家 Onyx Boox,可以不用 Root 就能直接安裝 Android APP,而且從官方測試影片來看,翻頁的反應時間、效果都還挺不錯的。

因此很高興地從淘寶下單,買了這個型號 Kepler Pro (6") 最新版本 Regal,究竟效果如何、為何挑選這個型號,請見本篇的心得分享。

(圖片出處: onyx-international.com)


一、型號、規格挑選


1. 螢幕尺寸

參考「Onyx Boox 官網」,這家公司出的電子書閱讀器尺寸,可以說是市面上最齊全的了:

  • 6"
  • 6.8"
  • 8"
  • 9.7"
  • 13.3"

以我的需求(PTT+RSS)來看,不需要太大的尺寸,6~8 吋就足夠。

但是 6.8" 及 8" 的機種,螢幕解析度都無法到頂,只有 6" 的機種可以到 300dpi。如果想讓眼睛看得舒服一些,在 Onyx 目前的規格下,可能要往 6" 來挑選。


2. 記憶體

所有機種幾乎都是配備 512MB ~ 1G 記憶體,以我「使用 Nexus 7 的經驗」,1G 記憶體跑 Android 5.0 以上及 APP 就撐不住了,因此使用 Android 系統的話,可不考慮 512MB 記憶體的機種。

Onyx 的 6" 機種幾乎都是配備 512MB 記憶體,只有一款 Kepler Pro 是配備 1G,因此要使用 Android App 的話,這款幾乎成了 6" 機型唯一選擇。


3. 電池容量

  • 大尺寸 13.3" 配備了 4100mAh 鋰電池;9" 配備了 3000mAh。
  • 6.8" 及 8" 的機型 只配備 1700mAh,以上這些我覺得電池可能都很難撐得久。
  • 6" 某些機型可配備 3000mAh,我認為會是比較好的選擇。

我的標的物 6" Kepler Pro 一樣也是使用了 3000mAh 電池容量。


4. 反應時間

從今年開始,Onyx 陸續為大部分機型使用了「新的 E-ink Regal 技術」,可在變換頁面時,減少整頁更新的頻率,讓翻頁更為順暢

這是我在淘寶看到的物件「BOOX Kepler Pro 電紙書墨水屏」,今年 2017 五月剛出的新版本,支援上面提到的 Regal 新技術,同時該頁面賣家還附上了操作視頻:


正是看到了這個影片的翻頁效果,真是顛覆了我過去這幾年來使用 E-ink 機器的使用經驗,換頁真是順暢地不像話。

因此雖然 Regal 機型價格貴了不少,但我仍舊下單購買剛出的最新版本。

如果讀者準備購買 Onyx 產品的話,我認為應該買該系列產品最新版本、支援 Regal 技術的機種。



二、淘寶下單


這部分流程簡單帶過就好,網路上已有很多淘寶心得,只摘錄我的補充:

  • 我找的賣家是「藍加白」,感覺評價不錯,出貨速度我覺得很快,送上門按電鈴時有點嚇了一跳,端午連假期間下單,結果 4 天就到貨了。
  • RMB 1280 其實不算便宜,不過保護眼睛無價,我認為值得花。
  • 淘寶付款時可參考「國外網站用外幣刷卡購物」→「六、淘寶刷卡也很可怕」,用玉山銀行 ATM 轉帳可省很多錢。
  • 下單後的一兩天,要隨時注意一下是否已經送到深圳集貨倉庫。送到時馬上付台灣段的運費,可節省送貨時間,否則貨物會一直躺在集貨倉庫等我們付錢。



三、簡易開箱心得


這部分仍然不是重點,因此一樣簡單帶過:

1. 質感、做工跟 Kindle 還是有距離,但這也是沒辦法的事,畢竟 Kindle 是龍頭。


onyx-boox-kepler-pro-1-用電子書閱讀器 Onyx (Kepler pro) 看 PTT + RSS 使用心得

2. 配件(例如皮套、保護套)有強烈的致癌物揮發味道,就像買一些便宜配件會聞到的那種味道,要放很久很久味道才可能散去。大廠配件都會額外處理這些味道,但小廠為了壓低價格,這部分通常不會另外處理。


onyx-boox-kepler-pro-2-用電子書閱讀器 Onyx (Kepler pro) 看 PTT + RSS 使用心得

3. 刺鼻味道先略過的話,保護套外觀做的還不錯,合上會自動休眠,打開會自動喚醒,是很有必要的配件。


onyx-boox-kepler-pro-3-用電子書閱讀器 Onyx (Kepler pro) 看 PTT + RSS 使用心得

4. 藍牙遙控器乍看之下沒什麼用處,但使用一段時間後,就會發現「返回」、「上一頁」、「下一頁」這幾個功能用很凶,那麼使用遙控器就可延長這幾個實體按鈕的壽命。

但這個送的配件有點兩光,「上一頁」、「下一頁」這兩個功能竟然無效,原來送的是官方第一代遙控器,除非自行購買第二代遙控器,才有這兩個功能


onyx-boox-kepler-pro-4-用電子書閱讀器 Onyx (Kepler pro) 看 PTT + RSS 使用心得

5. 送的塑膠支架算是堪用,但偏偏 Kepler Pro 的開關按鈕在底部,所以放在支架上偶爾會壓到,導致關閉螢幕。


6. 贈送的觸控筆,比不上直接使用手指操作,觸控筆要按壓久一點才能感應



四、安裝 PTT + RSS APP


Kepler Pro 的使用說明就放在桌面上,因此同樣略過這部分,直接進入主題,說明如何安裝 PTT 及 RSS 閱讀器。

1. Google Play

安裝任何 APP 之前,需要 Google Play 商店能夠運作,因此連上 Wifi 後,先進入「應用」→「Play 商店」,系統會在背景下載 Google Play 服務,檔案大小超過 100MB,先等個 5~10 分鐘後再進行其他操作,否則「Play 商店」是無法運作的。


2. Mo PTT

在 Play 商店可搜尋到 MoPTT,但可惜不支援 Kepler Pro,無法直接安裝。

不過安裝 apk 檔就能在 Kepler Pro 執行,可 google 關鍵字 "moptt apk",例如這個網頁可下載:「Mo PTT APP 下載 8.0.1」。

安裝 APK 檔之前,要先開啟系統選項,從「應用」→「設定」→「安全性」→ 勾選「不明的來源」


3. gReader

我習慣的 RSS 閱讀器是 gReader,運氣不錯的是,從 Play 商店就能直接安裝,因此不用再另外找 APK 檔。



五、APP 使用技巧


1. APP 設定選項

進入「應用」畫面後,可看到所有 APP。對著 APP 長按後會出現選單,設定正確的話會很好用:

  • 「添加到主屏幕」這個選項,會讓 APP 出現在桌面右下角的捷徑,但只有一個 APP 可生效。
  • 「Apps Optimize Setting」裡面最重要的是,取消「Run In Full Screen」的選項,讓 APP 不要以全螢幕執行,這樣最上方才能保留系統導覽列,可隨時回到首頁
  • 其他的「Enable Contrast Enhance」代表加強對比,「Enable Custom Gamma Setting」是調整色彩 Gamma 值,可視個人需求調整。


2. 安裝輸入法

畢竟這是中國產品,沒有台灣習慣的輸入法,建議在 Play 商店搜尋、安裝「Google 注音輸入法」,同時有注音、手寫等輸入功能。


3. 安裝 Gmail

關於資料與其他裝置之間的傳輸,也許你可以使用系統提供的推播功能,不過要綁定微信帳號。

我是使用最簡單的方法,安裝 Gmail 這個 APP,無論是資料傳進傳出,或是進行分享時,都可使用 Gmail。



六、Kepler Pro 使用心得


  • 介面改為繁體中文:「應用」→「設定」→「語言與輸入工具」→ 改為「中文(台灣)」
  • 加大字體:「應用」→「設定」→「協助工具」→ 可勾選「大字體」
  • 讓網路不會自動關閉:「設置」→「系統」→「電源管理」→「在閱讀時自動關閉 WIFI」→ 選擇「從不超時」,這樣才不會 PTT 用一陣子後就被斷線
  • 手寫輸入:Google 注音輸入法可切換手寫,但由於 E-ink 反應時間慢,所以無法即時看到筆跡,建議慢慢寫、不要潦草,比較能被系統辨識。
  • 前光:Kepler Pro 有前光功能,方便在沒有燈光的環境使用,是不錯的設計。不過如果以保護眼睛為前提使用時,建議一律關閉前光
  • 虛擬按鍵:既然螢幕以觸控操作,最好螢幕上就有「返回」、「上一頁」、「下一頁」等按鍵,才能延長實體按鍵的壽命,希望將來韌體更新時在上方導航欄可設計這幾個按鈕
  • 上下滑動閃屏:看內建電子書功能時,翻頁的操作跟效果都非常棒,比我之前用過的電子書產品都好。不過使用 Android APP 時,由於 APP 多半不支援翻頁功能,那麼用手指上下滑動畫面時,螢幕會閃得非常嚴重
  • 螢幕刷新設定:「設置」→「系統」→「用戶設置」→「Set key press times to refresh the screen for 3rd party apps」→ 這裡可以設定點擊螢幕幾次後、自動刷新螢幕 → 但設定為 Never 後仍然無效,似乎所有 Android APP,只要滑動螢幕後 1~2 秒,都會自動刷新,這是操作上很讓人困擾的現象,會讓眼睛不舒服。



六、Mo PTT + gReader 使用心得


其實一開始能夠成功安裝 Mo PTT,並正常操作以後,我就已經很感動了,覺得不枉買了這台電子書閱讀器。但是用了一段時間後,前面提到的「上下滑動後閃屏」的現象非常嚴重,這在第三方 APP 幾乎都會出現,讓我一度非常失望。

所有系統設定都翻遍了仍無法解決問題,再加上沒有「返回」、「上一頁」、「下一頁」等虛擬按鍵,一度讓我覺得這是失敗的產品。

不過無意間讓我發現了可以接受的操作方式,讓我重拾 Onyx Boox 產品,以下分享我的心得。


1. Mo PTT

  • 在文章列表畫面,可以不用觸控的方式操作,實體按鍵「上一頁」、「下一頁」是可以作用的,大概稍微壓個一秒鐘。
  • 但進入文章頁面後,上、下頁的按鍵就會無效,只能用觸控上下滑動。
  • 手指滑動時,只要停止滑動,系統過了 1 秒鐘左右,就會強制刷新螢幕造成閃屏,系統沒有選項可以關閉這個現象,不知道是否算 Bug。
  • 所以一開始我的解法是,手指不可以停止滑動,保持上下不斷滑動的狀態,看起來有點蠢,但似乎是唯一解法。
  • 後來無意間發現,手指只要不離開螢幕,系統就不會判定螢幕已經停止滑動,那麼就不會閃屏!!
  • 所以我滑動的時候,操作方式不可以像一般操作平板那樣、做 Swipe 的動作,而是改成類似在 "抹面速力達母" 這樣的動作,慢慢的把螢幕往上推,結果非常驚訝地是,螢幕上的字,捲動地非常平順,完全不像一般 E-ink 螢幕捲動時的跳動狀態,我認為這是 Onyx Boox 讓我改觀非常重要的一點!
  • 往上推完時、等讀完文字後,手指只要在 1 秒內快速移動到下方,再重複往上推的動作,就持續不會閃屏
  • 除此之外,最重要的是在 MoPTT 的設定畫面,將背景設為「白色」,以及確定返回手勢設為「向右滑」。
  • 最後,看到重要資訊時,如果前面有安裝了 Gmail,可以使用分享功能,選擇 Gmail,寄回自己信箱。


2. gReader

解決 Mo PTT 的問題後,gReader 的問題也算迎刃而解。

  • 文章列表畫面,gReader 是讓我驚艷的,因為畫面無論怎麼捲動,手指停止滑動,都不會自動刷新、也不會閃屏!!
  • 但是這有前提,在滑動畫面之前,最好先手動刷新螢幕,並且切換到「A2」模式,畫面的捲動才會很滑順。
  • 但是很奇怪,只要進入文章內容頁面,就會跟 MoPTT 一樣,滑動後手一離開螢幕,1 秒後就會自動刷新螢幕、閃屏。
  • 所以 gReader 的文章頁面,操作方式請參考前面 MoPTT 的心得,就能順暢地看文章了。
  • 看到不錯的文章需要進行分享時,用「雙擊螢幕」的方式比較方便。設定方法為:「選單」→「設定」→「閱讀偏好設定」→「文章控件」→「雙點/雙按」→「分享」
  • 因為之前裝了 Gmail APP,所以我分享時,可選擇 Gmail 寄回自己信箱。



七、總結


1. 從 gReader 的現象來看,在文章列表、文章內容的滑動操作,有截然不同的現象,那麼我認為閃屏是可以解決的問題,因為文章列表並不會閃屏,那麼就看官方要不要解決這件事了。

2. 雖然 Kepler Pro (Regal 版本) 不便宜,但因為平常使用 PTT、RSS 的時間不算短,且 Onyx Boox 算是目前可使用 Android App 的主要解決方案,在沒有更好的產品出來之前,我認為在保護眼睛這一點上,Onyx Boox 是非常超值的。

3. 如果將來 6.8" 及 8" 機種的電量、螢幕解析度能夠提升,那麼換成更大螢幕來閱讀,當然會是更好的選擇。


更多 PTT 相關文章:


更多 RSS 相關文章:

本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

$
0
0
onesignal-web-push-subscription-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便這是一篇公告文章,原本使用 RSS 或 Email 訂閱本站的讀者,現在有更快的方式接收本站訊息。

沒訂閱本站、或習慣用 FB 追蹤本站的朋友,也不妨嘗試一下這個新的網頁技術,以下會簡單介紹這個推播服務、及訂閱流程。

(圖片出處: onesignal.com)


一、推播服務


onesignal-web-push-notification-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

OneSignal」是一個免費的第三方推播服務,安裝後在一般的情況下,訪客第一次進入網站時,瀏覽器的螢幕會立即彈出下圖這樣的視窗:

onesignal-web-push-notification-0-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便


只要按了「允許」,訪客將來就可以從瀏覽器收到網站直接傳送的訊息,其用途可以有無限的想像空間。

這對雙方來說,都是非常方便的訊息傳遞工具,只不過 WFU 個人不太喜歡這兩點:

  • 強制出現的彈跳視窗,是非常干擾閱讀的體驗,我認為應該將彈跳視窗的選擇權交給訪客。
  • 關於右下角常駐的鈴鐺圖示,我也不喜歡螢幕上有太多的浮動區塊,同樣是干擾閱讀的元素。

所以我選擇「不出現彈跳視窗」、「也不顯示右下角的鈴鐺」,只不過缺點就是,這個推播功能訪客不一定會發現。因此 WFU 決定發佈本篇公告知會所有讀者,而沒看到公告的讀者就隨緣了。



二、訂閱流程


沒有右下角常駐的鈴鐺圖示,本站的網頁推播訂閱按鈕在哪裡呢?請見右邊側邊欄的浮動「訂閱」區塊:


onesignal-web-push-subscription-1-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

紅框標示的按鈕「訂閱網頁通知」就是了,按下後,會出現彈跳視窗:


onesignal-web-push-subscription-2-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

按下「允許」──


onesignal-web-push-notification-0-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

此時才會出現瀏覽器預設的詢問視窗,這個視窗是規定必須要有的,按下「允許」瀏覽器才會同意推播訂閱。

至此完成訂閱流程。



三、取消訂閱


日後要取消訂閱,沒有看到右下角常駐的鈴鐺圖示怎麼辦呢?一樣對著右邊側邊欄的浮動「訂閱」區塊:

onesignal-web-push-subscription-1-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

按下「訂閱網頁通知」就可以了──


onesignal-web-push-subscription-3-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

右下角鈴鐺會自動出現,按下「取消訂閱」即可。

同樣的,將來想再訂閱時,一樣按浮動訂閱區塊的「訂閱網頁通知」──


onesignal-web-push-subscription-4-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

右下角鈴鐺會自動出現,按下「訂閱」即可。



四、推播效果


訂閱之後,如果本站有通知訊息,例如新文章發佈了,那麼讀者打開瀏覽器時,右下角會彈出這樣的通知視窗:


onesignal-web-push-notification-13-本站可以發通知訊息給讀者了!歡迎訂閱推播服務,比 RSS、Email 方便

點擊這個視窗,就會立刻前往文章網址,例如圖中這篇「可商業用途及修改的高畫質免費 CC0 圖庫整理」。

最後提醒一點,網頁推播技術不是每種行動裝置、每種瀏覽器都能支援的很好,本站目前只在「網頁版」顯示這個「訂閱網頁通知」按鈕,而平板、行動裝置都不顯示喔,所以只有使用網頁版瀏覽器,才能接收到本站的最新訊息

使用 CSS 語法就能讓 Blogger 自動產生留言編號

$
0
0
blogger-comment-counter-css-使用 CSS 語法就能讓 Blogger 自動產生留言編號趁著網站改版,決定好好檢視所有程式碼,能優化的地方就處理,例如去除不必要的 javascript、或找替代方案,因為「優化網站效能該注意哪些事?」有提過,影響網頁載入速度最重要的第二大因素,就是 JS。

之前曾寫過「Blogger 串聯式留言__留言編號」,是利用 JS 處理。這次則研究一下能否用 CSS 處理,結果發現可行,那麼以下紀錄我的作法。


(圖片出處: pixabay.com)


一、CSS 計數器


1. IE 支援度

CSS2 支援了計數器語法 counter,剛好可用在本篇的主題,讓每則留言自動產生 "留言編號",不用另外寫 js 控制。

不過需要注意的是,IE8(含)以下不支援這個語法。

其實本站已對 IE10 以下的版本放生,且認為 IE 遲早被市場淘汰,所以 IE 支不支援覺得無所謂。


2. counter 使用方式

詳細的語法教學可參考這篇「讓 CSS 自動幫你數數」,不過使用留言編號的功能,只需要瞭解以下就好,附上範例語法:

li {counter-increment: no;}
li a:after {content: counter(no)}

  • 開始計數之前,設定 counter-increment語法,並指定代號字串。上面的範例可看到,代號字串設定為 "no"。
  • 如果每次計數都是自動 +1,就不必額外設定參數(如上面的範例);如果要自動 +5、或 -2 等等,在代號字串後面就得空一格,加上數字,例如 no -2。
  • 接著在需要產生計數的元素,使用偽類來存放、顯示編號
  • 在偽類設定參數 content,代表存放的內容,語法為 counter後面加上小括號 (),包覆前面設定的代號字串 "no"。

這麼做之後,每個 li 的後面(:after)就會自動產生編號,從 1 開始續編。



二、新增 Blogger 留言編號 + 樣式


有了基本概念後,接下來可以對 Blogger 範本進行 hack。

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


blogger-comment-counter-1-使用 CSS 語法就能讓 Blogger 自動產生留言編號

以上圖 DEMO 網頁的效果為例,進行 CSS 語法示範。

請到 Blogger 後台 → 主題 → 自訂 → 進階 → 新增 CSS

新增以下 CSS 內容:

.comment-thread > ol > li{counter-increment:count}
.comment-thread > ol > li:before{content:"#" counter(count); float:right; margin-right:10px; padding:2px 5px; color:#5e7380; border:1px dashed #d2d2d2;}


按「套用至網誌」即可看到效果。

如果熟悉 CSS 的話,可自行修改版面樣式,這個效果的設計構想如下:

  • 讓留言編號浮動在右側
  • 回覆的留言,雖然也有辦法產生獨立的編號,但因不想讓版面看起來過於雜亂,因此不讓回覆的留言產生編號
  • 因此只有每個討論串的第 1 則留言,會加上編號。




更多 Blogger 留言相關工具:

讓 RWD 網頁的文字(font-size)能自適應調整大小﹍極佳解決方案 vmin

$
0
0
rwd-font-size-solution-vmin-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin最近需要架設 RWD 一頁式網站,結果在「自適應文字大小」這件事卡關,為何會如此呢?

處理部落格型態的網站時,大部分直接套用現成的 RWD「付費範本」版型再來調整、修改。由於文字都是位於固定、切割好的板塊之內,調整字體大小的問題不大。

而一頁式網站,可以算是開放式空間,文字會出現在哪裡不一定,視案主或設計師提供的設計圖而定。這樣子的 RWD 文字尺寸會有什麼問題呢?有效的解決方法又是如何?請見本篇的心得筆記。

(圖片出處: pexels.com)


一、省略號的使用時機


標題文字在手機上會面臨的問題,主要是螢幕寬度不夠,而標題可能很長,導致網頁版 1 行就能顯示,但手機上可能會分成 3~4 行。

因此標題文字不是單純地設定不同的大小尺寸,就能解決版面問題。

比較常見的作法是使用 CSS 省略號語法 ellipsis,詳細作法可參考「讓標題過長的文字自動省略﹍單行 CSS 技巧」。

而 ellipsis 只適用於單行,若要處理兩行以上的版面,語法牽涉到不同瀏覽器版本的相容性,請參考這篇「讓標題過長的多行文字自動省略﹍跨瀏覽器 CSS 技巧」。



二、導覽列處理


處理 RWD 導覽列的文字,算是最麻煩的事,因為手機的寬度絕對裝不下這麼多文字,那麼字體大小再怎麼調整都沒有用。

比較簡單的處理方法有這些,就不用煩惱文字尺寸的問題了:




三、文字大小的 CSS 語法


除了前面這兩種狀況的處理,接下來說明有哪些 CSS 語法可控制 font-size 文字大小:

  • 固定數值:px, pt..等,使用固定數值不適合用於 RWD,因為無法隨螢幕尺寸來調整。
  • 相對數值:em, rem, 百分比...等
  • Media Queries:為不同螢幕尺寸,分別設定 font-size 的數值
  • RWD 參數:vh, vw, vmin..等,對於自適應螢幕最方便的語法


1. 相對數值

這篇「Blogger 自訂行動版範本實作﹍(3) 字體」→「十一、調整字體大小」,提供了使用 "相對數值" 來設定文字尺寸的範例。

請詳讀這部分的內容,使用相對數值語法 rem,對於處理 RWD 的文字非常方便,只要各處的文字都使用 rem,那麼只要調整 html 元素的字體大小,整個網頁的文字都能同時等比例縮放,不必一個個微調。


2. Media Queries

參考「Blogger 製作自適應網頁(RWD)﹍懶人法實作」,可瞭解 Media Queries 語法的使用方式。

這個語法是 RWD 網頁最基本的設計方式,單獨為各種螢幕尺寸,分別設定某個區塊的文字尺寸。

WFU 看了許多 RWD 非官方範本,CSS 都是用這個方式來設計,說實在非常地麻煩,假設一個頁面有 10 個區塊要設定 font-size,如果要處理 5 種螢幕尺寸的 Media Queries,那麼這個頁面就可能要設定:

  • 10 x 5 = 50 個 font-size 的數值

這件事光用想的就快抓狂,這也是接 RWD 案子時,會找最接近客戶需求的 RWD 範本來套、或使用現成框架,絕對不會想要自己刻 CSS 的原因。


3. vh, vw, vmin

還好 CSS3 出了 vh, vw, vmin 這些 RWD 語法,可以成為 font-size 在 RWD 版型的救兵。

需要語法教學可參考這篇「好用的css 3新單位vh vw」,下面會以案例來詳細說明。




四、調整 font-size RWD 案例


為了脫離 Media Queries 地獄,我想找到一個萬用的解決方式,最好 font-size 只要設定一次,就能讓各種螢幕尺寸的效果都是可接受的,以下是我的測試筆記。


rwd-font-size-solution-1-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

上圖是原始網頁版設計圖,我需要試著調整圖中的文字,在各種 RWD 螢幕尺寸的效果都是可接受的。


1. 使用 rem

rem 是一種可能的解決方式,我在網頁版將 html 元素設定 font-size: 16px,將橘色文字的區塊,設定 font-size: 3rem (也就是 48px 的大小),看起來效果還可以。


rwd-font-size-solution-2-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

上圖為模擬 iPhone 4 橫躺的畫面,我將行動版的 html 元素設定 font-size: 13px,已經是非常小的數值了,那麼橘色文字 font-size 的 3rem 代表 39px 大小,在上圖的效果還可以。


rwd-font-size-solution-3-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

但模擬 iPhone 4 直立時,結果就破版了。

雖然將行動版 html 的 font-size 設的更小可以解決上的狀況,但連帶也會讓其他區塊的文字顯得更小。

所以結論是,這個情況下 rem 不是最好的解決方案。


2. 使用 vw

接著測試 vw 的效果,這個 vw 語法會隨著螢幕寬度而自行調整大小。在網頁版先調整 font-size: 5vw,為可接受的尺寸效果。


rwd-font-size-solution-4-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

上圖為模擬 iPhone 4 橫躺的畫面,為了節省時間只調整橘字尺寸,下方文字未調整。

圖中可看到橘字 5vw 的尺寸還可接受,有稍微偏小一點。


rwd-font-size-solution-5-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

但是 iPhone 4 直立的橘字就太小了,5vw 是完全無法接受的效果。


3. 使用 vh

下一個測試 vh 的效果,這個 vh 語法會隨著螢幕高度而自行調整大小。在網頁版先調整 font-size: 10vh,為可接受的尺寸效果。


rwd-font-size-solution-6-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

上圖為模擬 iPhone 4 橫躺的畫面,圖中可看到橘字 10vh 的尺寸可以滿意的。


rwd-font-size-solution-7-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

可惜 iPhone 4 直立的橘字,10vh 又破版了...。


4. 使用 vmin

最後測試 vmin 語法,他會隨著從螢幕的寬度、高度,兩者之間取較小的那個當作參考單位→ 感覺上這個判斷機制會是 RWD 的解答。

我在網頁版先調整 font-size: 10vmin,為可接受的尺寸效果。


rwd-font-size-solution-6-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

上圖為模擬 iPhone 4 橫躺的畫面,其實就跟 10vh 的效果一模一樣,因為螢幕橫躺時,高度的數值是比較小的,vmin 取的值就是 vh。


rwd-font-size-solution-8-讓 RWD 網頁的文字(font-size)能自適應調整大小﹍最佳解決方案 vmin

上圖為模擬 iPhone 4 直立的畫面,真是太感動了,測到目前為止唯一看起來正常的直立畫面!

其實另外還有測試平板(Nexus 7)的直立橫躺畫面,看起來都是可接受的。那麼我相信在很多情況下,vmin 有機會成為 RWD 文字大小的解答


五、補充


有一個很不錯的 jQuery 外掛,能做到自適應文字大小:


官網提供了一個展示效果區塊,可自行輸入任意文字,隨著文字的增加,字體大小也會隨之縮小,可即時看到改變的效果。

如果某些區塊真的很難由 CSS 調到滿意的效果,也許可考慮安裝這個外掛。

只不過能由 CSS 做到的事情,盡量還是交給 CSS 處理,因為「過多的 JS 外掛會影響網頁效能」。



六、小結


比起 Media Queries 需要設定數不清的參數,rem 需要設定至少 2 次參數(且效果不一定能滿意),vmin 有可能只設定一次,就讓文字大小 font-size 在各種螢幕尺寸顯示正常。

而 vmin 的數值應該要設定為多少,不一定能一次就找出來,但使用「Chrome 開發人員工具」的模擬行動裝置功能,很快就能測試出一個各種螢幕尺寸都能接受的數值了。


更多 RWD 相關技巧:

加快你的網頁載入速度實作﹍善用 Google Analytics 報表

$
0
0
speedup-webpage-load-time-ga-加快你的網頁載入速度實作﹍善用 Google Analytics 報表之前寫過一篇「PageSpeed 網站速度檢測心得」,請讀者別太在意 PageSpeed 的分數,因為先天的限制,Blogger 有些項目是無法處理的。

不過那篇文章大概是說服力不佳,有不少讀者看完後,依然向 WFU 表達對於分數過低的憂慮,也許是我沒有提供 Step by Step 實作的原因。

那麼這篇會提供一些比較明確的步驟,能有效縮短網站的載入時間,讓讀者做起來比較踏實一些。



一、每個頁面都要處理


通常我們使用「PageSpeed」檢測時,只會看首頁的分數。但實際上,部落格每篇文章的頁面,分數都是不一樣的

也許你會覺得每個頁面載入的程式碼都差不多,所以測過首頁的分數,其他的應該也相去不遠。而且,如果文章有幾百、幾千篇的話,哪有時間每篇都測呢?

聽起來滿有道理的,不過實測後就會發現差距還不少,後面會提供數據。

既然網站文章太多了,不會有時間優化每個頁面的載入速度,那麼我們把握一個重點即可:

  • 先從網站最熱門的文章開始改善

而如何知道網站的熱門文章有哪些?可以藉助 Google Analytics(以下簡稱 GA) 的報表分析。



二、利用 GA 篩選熱門文章


1. 其他篩選工具

如果看 Blogger 官方後台數據,或是官方「熱門文章」工具,最多只有 10 篇而已。

WFU 開發了「Blogger 百大熱門文章排行」,可以看到更多熱門文章,做這件事會比較方便。

不過免費的方案也是有,就是利用 GA 報表。


2. GA

GA 有個功能很強大,可以一次顯示出 10 個網頁的 PageSpeed 分數,不用我們一個個手動輸入,以下來看看怎麼操作。

進入「GA 官網」,選擇你的網站後,按以下步驟:

  • 「行為」→「網站速度」→「速度建議」


ga-page-speed-1-加快你的網頁載入速度實作﹍善用 Google Analytics 報表

  • 如上圖,顯示了本站最近一星期,瀏覽數前 10 名的網頁。
  • 不斷按下一頁,就能看到其餘的熱門文章網頁。
  • 可依自己需求,選擇不同時間間隔,例如最近 3 個月、最近 1 年等。
  • 紅框標示處,第 6 名代表首頁,結果本站首頁只有 66 分,比第 7 名足足少了 20 分

其實有這樣的結果我並不意外,因為本站最近改版之後,首頁放了輪播、標籤文章等工具,導致圖片使用量大增,所以分數降低算是在意料之中。

得到優化名單後,那麼接下來,你可以依據每個網頁的 PageSpeed 分數,先從比較低的來進行優化,有更多時間時再處理較高分數的網頁

P.S. 如果對報表上的數字感到納悶,例如覺得載入時間的數據怪怪的,請參考 GA 官方說明文件「關於網站速度」。



三、調整圖片尺寸


1. 圖片處理原則

其實我並不鼓勵一眛追求網頁載入速度,而強制裁減圖片尺寸、或壓縮圖片,因為得到了速度,你可能失去更多東西

依據不同網站性質,訪客對圖片的需求也不一樣。例如:

  • 旅遊、攝影性質的網站,如果圖片尺寸太小,讀者應該會看不過癮,對吧!
  • 美食、介紹產品的網站,如果圖片壓縮到失真,那麼食物看起來不美味,產品也很難賣出去吧!

所以我之後分享的圖片處理流程,不見得適合所有網站,請讀者自行拿捏。


2. 首頁+輪播+封面圖

以下這些區塊的圖片,必須有較佳的品質呈現、來吸引目光,我不在意 PageSpeed 的分數,會另外處理:

  • 首頁
  • 輪播
  • 文章封面圖

尺寸可以大一些,壓縮比例可以小一些。


3. 文章內的圖片

因為本站為教學性質,文章內的圖片,畫素不需要太好,壓縮比例高一點也沒關係,讀者能辨識出圖片內容就好。

我的處理流程是這樣:

  • 使用「XnView」這個軟體可批次處理大量圖片
  • 設定圖片尺寸自動縮小為 850px 寬,但小於 850px 則維持原尺寸
  • 設定一律壓縮為 75%
  • XnView 可儲存設定細節,要處理時載入設定檔即可

可自行調整你的參數,不一定要跟我一樣。以上就是對於提高 PageSpeed 分數,圖片部分我們能做的事情。



四、精簡網站功能


處理完影響 PageSpeed 分數最多的「圖片」,接下來處理影響因素第 2 大的「Javascript」,也就是精簡網站功能。


1. 側邊欄

很多站長側邊欄掛了非常多工具,那麼現在可以好好評估一下,是不是每個工具都有必要安裝?

如果你找資料時,喜歡看「沒有側邊欄」的網站,版面比較清爽,那麼代表側邊欄的工具,在某種程度上不是那麼重要。

想想去逛同類型網站時,你會使用別人家哪些側邊欄工具呢?如果有某些工具是你根本不會去看、去用的,那麼可以考慮從自己家下架。

如果不是以圖片為主的網站,側邊欄工具例如「熱門文章」、「最新文章」等等,可以不顯示縮圖,加快網頁載入速度。

以本站為例,純粹自己要看的「最新文章」、「最新回應」、「友格+關注」等工具,則用分頁功能隱藏起來。需要使用時,點擊分頁才會執行這些外掛。


2. 廣告

每個「廣告單元」都會花費很多載入時間,那麼不用說,如果一個頁面放了 4、5 個廣告,網頁讀取是不是會很卡?

如果多放廣告能增加收入,而且你的網站也需要這樣的收入,那麼我建議不要在意 PageSpeed 的分數,畢竟錢賺得少會比較痛。

如果廣告收入沒那麼重要的話,我會建議放 1~2 個廣告單元就好了,而且你會立刻感受到,PageSpeed 分數的上升。


3. 其他外掛

還有很多外掛,裝了看起來很炫、或心情上比較好,但沒有裝也不影響網站運作,例如:

  • 數字分頁
  • 隨機文章
  • AddThis 這類的社群分享按鈕外掛
  • 燈箱
  • 留言板外掛(用官方預設的就好)
  • 即時顯示線上人數
  • 即時線上客服

以上是大略舉例,可根據自己需求決定是否移除這些外掛。



五、減少 FB 外掛、內嵌工具


1. FB 外掛

因為 FB 出的外掛太多了,獨立一個章節說明:

  • 如果有經營 FB 粉絲團的話,粉絲團算是必要外掛,比較難割捨。
  • 而 FB 留言板,如果使用率真的不高,建議可以移除,使用部落格原生留言板就好。
  • 讚按鈕我發現幾乎沒有人按,所以本站已經移除。
  • 分享按鈕有替代方案「安裝常用社群分享按鈕 (圓形)」,可不用安裝 FB 分享按鈕。


2. 內嵌 Iframe

許多旅遊、美食網站因為需要介紹店家位置,會在文末內嵌「Google 地圖」,這會增加網頁載入時間,建議改用超連結即可。

一些 FB 經營得不錯的站長,會在文章內嵌 FB 相關留言或貼文,一樣會增加載入時間。不過運用得好的話,內嵌貼文有其效果存在,站長可自行評估。

總之,要提升網頁載入速度的話,任何內嵌 Iframe 都是可以考慮開刀的對象



六、總結


跟上一篇 PageSpeed 測試心得比起來,這一篇提供了非常多確切的項目,讓讀者可以一一評估是否進行改善。

但最重要的是,是否優化、或割捨這些項目,都不是絕對的,也沒有標準答案,一切取決於你的需求。

魚與熊掌一次只能拿一個,沒有說又想增加 PageSpeed 分數,又想獲得好處這回事。

其實抉擇也很簡單,究竟保留現有的狀態,獲得的利益會比較大,還是移除了某個外掛,分數上升心情會比較好,那麼答案就出來了


更多網站效能相關文章:

Adsense 回應式(RWD)廣告雖然版面美觀,可惜收益少很多

$
0
0
adsense-rwd-revenue-Adsense 回應式(RWD)廣告雖然版面美觀,可惜收益少很多最近將網站改為 RWD 版型後,因為文章區塊在不同裝置的寬度都不一樣,無法再使用以前的廣告尺寸,因此藉機會把部分廣告單元改成自適應廣告。

使用回應式的廣告,並搭配 CSS 設定後,可以讓廣告完全跟區塊寬度吻合,版面看起來美觀多了。

而用了幾天後,查看 Adsense 報表發現數據滿令人吒舌的。雖然天數少只是小樣本,不能視為長期都是如此。不過我還是決定研究一下,是否 RWD 廣告真的會讓收入減少?



一、參考報表


adsense-rwd-revenue-1-Adsense 回應式(RWD)廣告雖然版面美觀,可惜收益少很多

上圖是過去幾天 WFU BLOG 的 Adsense 部分報表,參雜了改版前後使用的廣告單元。

可先注意紅框標示的兩個 RWD 廣告單元:

  • 上面紅框的廣告是行動版,平均單次點擊收益雖低,但還不算離譜。
  • 下面紅框的廣告是網頁版放繼續閱讀處,平均單次點擊收益為 USD 0.025,幾乎可算是採到地雷了!

看看其他點擊數為 0 的廣告單元,在相同曝光次數的基準下,光是擺著曝光、沒任何點擊,收益都還比下方紅框高。

因此本篇要研究的疑問就是:

  • 是否有原因導致 RWD 廣告的平均收益偏低?
  • 有沒有辦法避免這樣的狀況?



二、Adsense 廣告競價原理


首先請參考官網文件「關於廣告競價」,雖然我知道廣告商需要競價才能獲得廣告播放的機會,但實際作法其實還滿複雜的,官網文件讀了幾次才大致瞭解。

整個過程可以簡化成這樣:

  • 網頁越上方的廣告單元,越容易被訪客看到,也越容易獲得最多的點擊機會
  • 為了獲得較多的點擊機會,廣告商會希望出越高的金額,來獲得較高位置的廣告展示機會
  • 我們獲得的廣告收入,並不完全等於廣告商的出價
  • 出價第 1 的廣告商,只需付出價第 2 的金額 + USD 0.01 就好


希望以上的敘述能夠理解。不過根據這個流程,還需請讀者瞭解以下衍生的意涵:

  • 如果廣告商競價不激烈的話,就有可能出價第 1 與出價第 2 的數字落差很大
  • 這導致得標的廣告商,常常只需要付很低的價格,就能獲得點擊機會
  • 例如常常有很多沒錢的廣告投遞者,只出最低價 USD 0.01 來競標,假設這是第 2 名的出價
  • 那麼第 1 的出價不管有多高,都有可能只需付 USD 0.02 就好(也就是 0.01 + 0.01)




三、廣告尺寸如何影響出價


瞭解以上原理後,現在可以來看不同廣告尺寸,可能會有哪些競價狀況。


1. 熱門廣告尺寸

根據「Adsense 廣告尺寸及版面配置優化技巧整理」→「一、廣告擺設通則」→「1. 廣告尺寸」,官方推建了幾個成效最佳的廣告尺寸:

  • 300x250
  • 336x280
  • 728x90
  • 300x600
  • 320x100(行動版)


為什麼這些尺寸最被推薦,現在可以很容易理解,這些算是最通用的尺寸,也是最多廣告商會製作、提供的廣告單元

想像一下我們網站擺放了一個 300x250 廣告單元,由於太多廣告商會製作這樣的尺寸,假設有 100 個廣告商好了,為了要搶我們網站的廣告展示機會,那麼某次競標金額可能是這樣(單位為 USD):

  • 0.33
  • 0.30
  • 0.28
  • 0.26
  • 0.25

只列前 5 名,由於競爭太激烈了,USD 0.33 得標,且數字差距都不大,得標者廣告被點擊時,需付的金額為 USD 0.31,對我們來說算是相當不錯的收益了。


2. 非熱門廣告尺寸

看一下官方文件「廣告大小指南」裡面,關於 468x60 這個尺寸的描述:

這種廣告大小的多媒體廣告供應量通常有限,因此可能無法達到最佳的廣告成效。

官方很明確的指出,廣告商比較少製作 468x60 這樣的尺寸,那麼當我們網站擺放了一個 468x60 廣告單元時,有辦法競標、提供廣告的廠商假設只有 5 個,金額可能是:

  • 0.30
  • 0.15
  • 0.1
  • 0.03
  • 0.02

雖然第 1 名投標金額仍然不小,但由於跟其他數字有落差,得標者只需要付 USD 0.16。

以上的舉例大致就能說明,為何官方會告訴我們「非熱門廣告尺寸」可能無法達到最佳的廣告成效。


3. RWD 廣告尺寸

當我們擺放 RWD 廣告單元時,那麼什麼樣的尺寸都有可能出現。而連 468x60 這樣的尺寸供應量都有限時,可想而知各種奇奇怪怪的 RWD 尺寸,會有多少供應量了

供應量不足的情況下,廣告商的確是不需要用高價投標的,隨便掛個 USD 0.0x 都有可能得標(甚至是 0.01)。



四、修改 RWD 廣告單元


1. 避免低價廣告

回過頭看一開始提供的報表,雖然是小樣本,但長期來看,如果網站一直擺放 RWD 廣告,除非開始有大量廣告商願意設計各種 RWD 尺寸的廣告單元,不然我還真無法替廣告商,來找到用高金額競標 RWD 廣告的理由。

在情況還沒改變之前,不讓網站充斥低價廣告的方法,就是擺放官方建議的熱門尺寸了

只不過,RWD 版型的網站要如何擺放廣告呢?

其實官方提供的 RWD 廣告單元,有各種方法可以自訂顯示的尺寸,那麼我們可以將 RWD 廣告單元,指定顯示特定的尺寸,就能避免低價廣告了。


2. 修改安裝語法

參考官網文件「如何修改回應式廣告程式碼」,第一個範例就非常實用:


<style>
.example_responsive_1 {
width: 320px;
height: 100px;
}

@media(min-width: 500px) {
.example_responsive_1 {
width: 468px;
height: 60px;
}
}

@media(min-width: 800px) {
.example_responsive_1 {
width: 728px;
height: 90px;
}
}
</style>
<script async='async' src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- example_responsive_1 -->
<ins class="adsbygoogle example_responsive_1" style="display:inline-block" data-ad-client="ca-pub-XXXXXXX11XXX9" data-ad-slot="8XXXXX1"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>

簡單解說,在安裝碼 ins 標籤裡,加上 class "example_responsive_1",為這個 class 設定三種螢幕尺寸的效果:

  • 預設顯示 320x100 這個尺寸
  • 區塊寬度在 500px 以上時,會顯示 468x60 這個尺寸
  • 區塊寬度在 800px 以上時,會顯示 728x90 這個尺寸這個尺寸

從官方提供的這個範例來看,也可以說官方知道 RWD 廣告會發生收益上的問題。那麼這個範例將廣告尺寸控制在收益最高的排列組合,可以說是最佳解了。



五、總結


有了最佳解之後,是否我該下個結論:真正的 RWD 廣告一無是處,可以全面汰換?

其實也不全然是如此,RWD 廣告有它的優點在,某些情況下我認為還是值得加以運用。

如果追求收益最大化,版面美觀可以犧牲的話,可按本篇的作法進行。

如果網站擺放的廣告數量不少,那麼同樣尺寸的廣告一定會重複出現。為了不讓訪客視覺疲乏,同時也讓版面均衡一下,那麼網頁高度第 3 個廣告起,因為收益相對而言算是比較少了,是可以考慮擺放 RWD 廣告。

在收益與美觀之間取得協調,我認為會是實務上的最佳解。


更多 Adsense 相關文章:

讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

$
0
0
onesignal-web-push-notification-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛也許你曾逛過某些網站,瀏覽器會自動彈出這樣的訊息:

onesignal-web-push-notification-0-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

如果按「允許」的話,那麼日後這個網站有新文章,或是有公告訊息,瀏覽器就會傳送訊息給你。

這是 HTML5 的網頁推播技術,在 RSS、Email 訂閱式微的今天,對於站長們是很便利的一項福音,讀者只要打開瀏覽器,就能收到網站第一手發佈的訊息,不必藉助 RSS、Email 等媒介,沒有時間落差,讀者也不需要學習 RSS 的操作。

這麼棒的功能有不少第三方服務提供,多半是要付費的,而目前卻有一家「OneSignal」免費提供了這項服務。

因為前陣子接到這個需求,案主需要在 Blogger 網站安裝推播的功能,本篇記錄了我的研究心得筆記,部分進階的設定及功能需要留給客戶,不過公開的筆記內容,對於基本的設定及正常運作是沒問題的。



<< 請注意!本篇文章含會員加值文章內容,需點數兌換 >>



一、申請 + 設定


1. 登錄

進入 OneSignal 官網:


按「Log In」→ 可使用 Google、FB 等帳號登錄註冊


2. 新增 APP

onesignal-web-push-notification-1-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

按照上圖順序:

A:按「Add a new app」

B:填入 App 名稱

C:按「Create」


3. 設定 Chrome + Safari

onesignal-web-push-notification-2-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

App 建立完成後,按下 A 處「App Settings」,可看到上圖畫面。接下來分別按 B、C 處來設定 Chrome 及 Safari 瀏覽器。


onesignal-web-push-notification-3-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

首先是 Chrome,按照上圖順序:

A:填入網址

B:填入網站 LOGO 圖片網址,這圖片會出現在通知訊息。

C:如果網站不是 HTTPS,請勾選此處。

D:請填入一個能代表網站的字串,並記住此字串,之後會用到。

完成後按「Save」。


onesignal-web-push-notification-4-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

接著是設定 Safari 的畫面:

A:填入網站名稱

B:填入網址。如果失敗的話,可能你這裡的網址最後有使用斜線 "/"。

C:上傳網站 logo。

最後按「Save」。


4. 記錄各種 ID 字串

onesignal-web-push-notification-5-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

設定都完成後,可看到上圖紅框處,都成為「Active」。

接著請記錄紅色底線處,Safari 下方的 Web ID 字串,之後會用到。


onesignal-web-push-notification-6-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

進入分頁「Keys & IDs」,記錄上圖這組字串,之後安裝會用到:

  • OneSignal App ID



二、安裝程式碼


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

請到後台「主題」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 </head>這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async='async'></script>
<script>
//<![CDATA[
var OneSignal = window.OneSignal || [];
OneSignal.push(["init", {
appId: "xxxxx", // 填入 OneSignal App ID
safari_web_id: "xxxxx", // 填入 safari web id
subdomainName: "xxxxx", // 填入自訂代表網站的字串
autoRegister: true, // 是否自動彈出訊息,詢問訪客是否訂閱
httpPermissionRequest: {
enable: true
},
notifyButton: {
enable: true // 是否顯示鈴鐺
}
}]);
//]]>
</script>

  • 紅色字串請按照綠字註解填入
  • 藍色參數請參考註解,如不需要請改為 false

填寫正確的話,儲存後,網站右下角應該會出現紅色鈴鐺。

想先看效果可前往展示頁面:




三、發佈推播訊息


以下說明如何發佈訊息給讀者,接續「一、申請 + 設定」之後的畫面:


onesignal-web-push-notification-7-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

進入分頁「New Message」→ 選擇傳送給所有訂閱者「Send to Everyone」→ 按右上角「Next」。


onesignal-web-push-notification-8-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

紅框處分別填入「網站標題」及「訊息內容」,通常是文章標題,也可以是你要告訴讀者的訊息。

接著按「Next」。


onesignal-web-push-notification-9-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

如果之前在設定畫面,有填入網站 logo 圖片網址,紅框處會自動帶入。

下方「Image」還可設定大圖,不過支援的瀏覽器版本不多,可以略過。


onesignal-web-push-notification-10-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

別急著按下一步,畫面往下捲,直到「Launch URL」這裡,如果要通知讀者新文章發佈的話,這裡一定要填入文章網址,否則訊息就白發佈了。

此時可按「Next」。


onesignal-web-push-notification-11-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

如果要立即發送的話,使用預設選項即可。

如果要指定時間才發送訊息,請依需求來設定,再按「Confirm」。


onesignal-web-push-notification-12-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

最後系統會列出所有資訊供核對,確認無誤後,按「Send Message」送出即可。


onesignal-web-push-notification-13-讓 Blogger 網站可以向訂閱者發佈通知﹍OneSignal 網頁推播訊息外掛

有收到訊息的讀者,瀏覽器右下角會即刻彈出上圖訊息框,點擊後會進入這篇文章的網址。



四、補充事項


  • 如果發送訊息的流程,按下「Confirm」時系統告知有誤,通常是因為目前還沒有任何訂閱的讀者。建議自己先訂閱,就能進行測試。
  • 本篇的設定、安裝流程,官網都有詳細的文件說明,可參考「Web Push SDK Setup (HTTP)」。
  • 官網說明文件其實很詳細,只不過啃英文不是那麼輕鬆,可參閱「OneSignal Product Overview
  • 本篇的設定只能對網頁版生效,各種行動裝置都無效,因為不同行動裝置的系統,不一定全部支援 HTML5 推播技術,也需要個別進行設定,比網頁版複雜太多,有需要的讀者請參考官方文件來處理。



五、進階設定



將原本的安裝碼,改成以上的內容,並自訂相關字串。


更多相關網站工具:

安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

$
0
0
page-analytics-chrome-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page AnalyticsPage Analytics 是一個知名的 Chrome 外掛,它會從 Google Analytics(以下簡稱 GA) 讀取你的網站數據,直接在網頁上顯示各處連結的點擊成效。根據這些數據,就能很方便地評估網站的版面配置是否需要優化。

很久以前安裝過這個外掛,但當時覺得不是很好用,之後會說明原因。最近網站換了 RWD 版型,很多地方也採用新的設計,為了評估成效,於是想到了 Page Analytics 這個外掛。

這次特別深入研究了外掛運作的原理,以下分享我的使用心得。



一、使用教學


本篇主要以應用為主,而基本的操作與教學,請參考以下連結:




二、無法抓到資料


這個外掛有時會無法抓到 GA 資料,我自己偶爾也會遇到,出現的錯誤訊息如下圖──

page-analytics-chrome-1-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

大致說明一下可以如何處理:

  • 這個外掛的原理,是載入網站的 GA 數據。而我們只能看到自己帳號的 GA 數據,所以用這個外掛無法看別人網站的數據
  • 請先確認是否已經登入 GA 帳號,可試著先登入 GA 官網
  • 確認已登入帳號後,打開這個外掛,等個幾秒鐘後,通常就能看到自己網站的數據。
  • 如果還不能看到,可關掉瀏覽器、重來一次,或重新整理頁面

以上是我的使用經驗,通常經過這個流程都能順利執行外掛。



三、哪些地方無法顯示數據?


這個外掛操作十分簡單,介面也十分友善,哪個按鈕、連結有多少點擊率看起來一清二楚,非常容易讓我們根據數字來做出因應的決策。

但請小心看待所有的數據,因為你所解讀的數字(或沒有數字),很可能不是表面上的意思,導致做出了錯誤的決策,反而阻礙網站的發展。

很重要的一點,某些連結或按鈕你會看不到數據,但這不代表這些地方訪客是沒有點擊的,以下會一一剖析。


1. 外部連結

page-analytics-chrome-2-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

這是本站頁尾區塊,左邊「站務相關」的區塊都是站內連結,大部分都有點擊率。

但右邊「社群相關」都是站外連結,沒有一個有點擊率。是否代表這些連結沒人點擊呢?

同時左邊有兩個連結用紅框標示,是沒有點擊率的,真的如此嗎?之後會詳細分析。


page-analytics-chrome-3-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

再來看一下文章頁面,左邊有個標示 22% 的站內連結,而右邊紅框區塊的「FB 粉絲團」、「各種訂閱管道」,都沒有任何點擊率,這有可能嗎?

「FB 粉絲團」的按讚數持續在增加,代表有讀者會點,只不過 Iframe 裡的點擊無法被追蹤;Feedly 的訂閱人數也是穩定上升,所以 WFU 可以拍胸脯保證,這些外部連結會有讀者點擊,只不過 Page Analytics 無法顯示

原因在於 GA 數據並沒有統計後續前往的外部連結,所以這個外掛顯示不出來


2. 網站標籤

page-analytics-chrome-4-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

請參考上圖,熱門文章區塊都有點擊率,但是上方紅框處的標籤連結,卻都沒有點擊率,這是怎麼回事呢,可以解讀成訪客沒有點擊標籤嗎?

題外話,0.1% 的那個點擊率,並不是標籤的,而是藍色箭頭處「樹狀標籤」的版權圖示連結。

我不清楚其他部落格平台是否也如此,但經過交叉測試的結果,我確定 Blogger 平台的 "標籤連結" 點擊率,無法被 Page Analytics 顯示出來

實際上進入 GA 官網,是可以查到 "標籤連結" 的瀏覽數據,所以這個現象也許是 Page Analytics 的問題吧?

那麼要如何從 "標籤連結" 的點擊率數據,來制訂網站版面配置的策略,會另開一篇主題說明。


3. 按鈕

既然站外連結都無法顯示點擊率了,那麼各種按鈕(例如提交按鈕)的點擊,自然也不會被紀錄了(因為跟本不是網址)。

但真的想追蹤各種按鈕的點擊狀況,也是有辦法的,待下一篇說明。


4. 篩選日期區間的差異

page-analytics-chrome-2-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

再看一次前面的圖,為何左邊「作品集」、「架設網站流程」這兩篇沒有點擊紀錄呢?這實在是很難理解的事,是否我應該根據訪客的好惡,將這兩個連結下架,改放其他更有吸引力的連結呢?

我花了一點時間尋找這個問題的答案,終於發現了原因,上圖我設定的 GA 數據時間區間,是從 2010 ~ 2017 這麼大的範圍


page-analytics-chrome-5-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

後來我將日期區間設定成 2016 二月 ~ 2017 七月,結果數據截然不同了呢!這兩篇的點擊率雖然不算高,但其實也有一定的水準。

回過頭來分析,這兩篇文章的發佈日期,當初設定為 2016 一月,或許這就是 2016 二月以後,才能抓到數據的原因

雖然不是所有文章都有這樣的現象,但是這個案例可以提醒我們,要非常小心看待 Page Analytics 顯示的數據,可以當作參考,但不要全然信任。

當看到完全沒有數據的站內連結時,可以試著改變一下日期區間,也許能找出問題出在哪裡。



四、如何判讀某個連結的成效?


有時一個頁面會有多處同個網址的連結,例如首頁連結,在標頭的網站 Logo 會有,在導覽列會有,在網頁底部也會有,那麼這樣的連結,數據要如何看待必須小心。


page-analytics-chrome-6-安裝這個 Chrome 外掛就能分析網站數據、優化版面配置,但很多數字你必須知道如何正確解讀﹍Page Analytics

如上圖是首頁的某篇文章,為了方便訪客點擊,除了文章標題、繼續閱讀有連結,我把面積最大的文章封面圖也加上了連結,結果 Page Analytics 在這三處都顯示了 3% 的點擊率。

可以看成這篇文章的點擊率為 3% x 3 處 = 9% 嗎?不行的,從首頁進入這篇文章的點擊率就是 3%,只不過這三處會顯示同樣的數據罷了。

可是這樣子的話,要怎麼判別到底讀者容易點擊 "文章標題"、還是 "封面圖" 呢?如果確定都沒人點 "繼續閱讀" 的話,說不定就乾脆移除 "繼續閱讀",還可以節省一些版面空間不是很好~

很可惜的是,目前我們無從知道同一個頁面、多處的同一個連結,訪客究竟比較容易點擊哪一個

真的很想知道同一個連結網址、個別按鈕的成效,必須跟外部連結的處理方式一樣,在個別按鈕埋 GA 偵測碼,這個主題待下一篇討論。



五、小結


大致來說,這個外掛工具是非常方便的,我們可以很容易就知道,某個區塊所有連結的點擊率。並根據點擊率的多寡,我們可以將熱門連結的順序往上提升,冷門連結則降低他的排序位置,甚至直接移除,改放更有效用的連結。

而這個工具不好用的地方,本篇都已詳細列出,只是還沒說明如何處理。那麼下一篇,會針對這些缺點,提供解決方案、或是權宜的作法。


更多 Chrome 相關外掛:


更多 Google Analytics 相關文章:

讓 Blogger 留言注意事項能隨留言框移動,訪客才能真正看到

$
0
0
blogger-comment-reminder-optimization-讓 Blogger 留言注意事項能隨留言框移動,訪客才能真正看到這大概是寫部落格長久以來,覺得很無奈、沒辦法解決的一件事了。為了讓訪客留言時完整描述狀況、不重複犯錯、或避免詢問同樣問題,我們可能會制訂一些注意事項。

其實大部分還是讀者會仔細閱讀規定再留言,但有些讀者不一定會看到規定、或是常常目光直接相中留言框就留言,導致站長們需要常常回覆一樣的話。

會有這情形,Blogger 官方也要負不少責任,留言板的設計有缺陷存在,導致讀者不一定能看到注意事項,這也是相當無奈的原因。

最近靈光一閃想到一個密技,或許有機會改善這樣的現象。如果你也有這個需求,那麼可以試試 WFU 這一招。

(圖片出處: 699pic.com)


一、為何讀者不看注意事項?


blogger-comment-reminder-optimization-1-讓 Blogger 留言注意事項能隨留言框移動,訪客才能真正看到

不看的因素可能有很多:

  1. 內容太多了,密密麻麻,沒空看、懶得看。(如上圖,像本站這麼多的話)
  2. 多年前「串聯式留言」功能出來之後,留言框會四處跑,訪客在哪裡按 "回覆",留言框就會出現在哪裡,所以讀者不一定看到 "留言注意事項"。
  3. 有些讀者具有 "自動無視留言框以外任何文字、圖案" 的能力

除了第 3 點無解之外,前 2 點都是有機會救的,也是本篇要努力的方向。



二、修改的原理


1. 留言框移動的原理

使用 Chrome 開發人員工具後,發現 Blogger 留言框的 HTML 碼大致長得像這樣:

<iframe... id="comment-editor" ...></iframe>


blogger-comment-reminder-optimization-2-讓 Blogger 留言注意事項能隨留言框移動,訪客才能真正看到

如上圖,按下任何一則留言的 "回覆" 按鈕後,Blogger 官方留言框就會跳到那個位置,同時繼續檢視 Chrome 開發人員工具,也會發現前面的那段 HTML 碼,跑到了新的位置。

所以留言框的移動原理就是,系統會自動搬移 id 為 "comment-editor" 的 HTML 元素。

如果我們可以在 id 為 "comment-editor" 的 HTML 元素,加入(注意事項)文字、圖案、或任何功能,就能跟著留言框移動,達到我們的需求了。

但是很可惜,Iframe 並不允許這麼做,因為 Iframe 載入的是跨域網址,其內容我們無權更動,否則就會產生資安問題。


2. 隨留言框移動

找到的解法是,監控 Iframe,只要一移動,立刻在 Iframe 上方生出留言注意事項,讓兩者如影隨形。

要做到這件事,需要寫一段 JS,以下來看實作。



三、修改方式


1. 修改範本原始碼

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

請到後台「主題」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋以下字串:

id='comment-editor'

應該會在範本中找到 4 個結果,包含在 Iframe 的元素之中,類似以下的字串:

<iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>

接著對這 4 個 Iframe 做一樣的動作,把這 4 個 Iframe 改成以下 HTML 碼:

<iframe onload='commentReminder(this);' allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' expr:height='data:cmtIframeInitialHeight' frameborder='0' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>
也就是加入紅色字串即可。


2. 安裝程式碼

接著在範本中搜尋 </head>這個字串,找到後在此字串的前一行,插入以下程式碼:

<!--留言注意事項-->
<script src='//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js'></script>
<script>
//<![CDATA[
function commentReminder(elem) {
var $commentReminder = $("#commentReminder"),
html = "<div id='commentReminder'>⏩ 提問請詳細描述狀況,並附網址或截圖,如提供的資訊不足,則無法回覆。</div>";
if ($commentReminder.length) {
$commentReminder.remove();
}
setTimeout(function() {
$(elem).before(html);
}, 200);
}
//]]>
</script>
<!-- Designed by WFU BLOG -->

  • 綠字可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。
  • 藍色字串請改成你的留言注意事項
  • 如果具備一定的 HTML 基礎,那麼你的留言注意事項可以做比較多的變化。



四、修改效果


blogger-comment-reminder-optimization-3-讓 Blogger 留言注意事項能隨留言框移動,訪客才能真正看到

如上圖,將來無論留言框出現在何處,留言注意事項也能如影隨形出現在上方。

為了讓訪客把這些文字看進去,建議:

  • 只挑最重要的項目顯示,條列太多項可能就會被無視。
  • 把重點上色

這個 Hack 還可以做不少應用,例如放「Emoji 表情符號輸入小幫手」讓讀者輸入特殊符號,或是提供讓讀者上傳圖片的功能。如果有開發能力的話,這些都是做得到的。


更多 Blogger 留言相關文章:

WFU BLOG 使用 RWD 範本改版紀錄(2017)﹍更友善的使用者體驗

$
0
0
wfublog-2017-WFU BLOG 使用 RWD 範本改版紀錄(2017)最近一兩年協助架站多是以 RWD 為主,但自己的網站卻是一直使用 Blogger 官方「頂尖企業」模版,我想原因大概是這樣:

  • 不喜歡直接用別人做好的現成範本,因為會有太多自己想改的地方。
  • 但 RWD 是大工程,自己改要花很多時間。
  • 本站是「Blogger 調校資料庫」,所以有不少工具,在某種程度上算是 "展示" > "實質" 用途

雖然早就想改用 RWD,不過基於以上這些原因遲遲未動手。

但我一直很想精簡網站的 JS / 外掛,讓載入速度更快,最近終於下定決心砍掉所有缺乏實質用途的 JS,那麼順便也可進行網站優化、RWD 改版,本篇就紀錄一下今年 2017 WFU BLOG 做了哪些改變。

(圖片出處: magicmockups.com)


一、2016 版


1. 備份網站

舊版已經忘了是什麼時候定案的,暫且稱為「2016 版」。其實原本的色系、版面也滿喜歡的,所以將原本的模版備份到這個網址:


想要比對新、舊版差異的話,可前往參觀。


2. 展示工具網站

由於本站很多原本展示的工具,在目前的 2017 RWD 版本已經看不到了,不過本站釋出的大部分 Blogger 工具,在展示網站都可看到效果,可前往:




二、版面 + 標頭區塊


接著依網頁由上到下的順序,紀錄改版的內容。

1. 底色

原本的色系看起來滿順眼的,沒有打算要換。不過網站的底色、以及各個主要區塊,總共用了約 4 張底圖,可參考「網頁使用自製紋理背景﹍雜點+拔絲+再生紙效果實作」。

為了節省這 4 張圖的載入時間,改版決定所有背景只使用純色效果,各處的 CSS 也少使用陰影等效果,類似扁平化設計,這樣會比較搭配。

順帶一提,網站各處的小圖示,舊版後來也都使用「Font Awesome 圖示字型」,來減少圖片的 HTTP 請求。



2. RWD 標頭

原本的行動版標頭 Logo 區塊,比較簡單一些,

wfublog-2017-1-WFU BLOG 使用 RWD 範本改版紀錄(2017)

現在改成以上設計,標頭區塊所有空間都有作用,左邊是多層選單的按鈕,右邊是搜尋功能。



三、導覽列


menu-guide-1-WFU BLOG 使用 RWD 範本改版紀錄(2017)

原本網頁版導覽列的下拉選單功能,在行動版無法同步出現。也就是說,行動版是另一個做一個比較簡單的選單。


menu-guide-3-WFU BLOG 使用 RWD 範本改版紀錄(2017)

現在行動版的選單,已經可以同步網頁版的下拉選單。如果網頁版的選單調整過內容,行動版也不必另外處理。



四、輪播功能


舊的首頁輪播區塊,原本為了遷就文章頁面(這區塊放了 728x90 Adsense 廣告),所以做成差不多一樣的扁平尺寸。

wfublog-2017-2-WFU BLOG 使用 RWD 範本改版紀錄(2017)

不過文章頁面的 728x90 廣告早已移除,那麼這次改版就順便讓輪播區塊大一些,可以輪播兩張 2:1 尺寸的圖片,且圖片會隨裝置的螢幕尺寸而變更,使用的是「最熱門 jQuery 圖片輪播外掛 Owl Carousel」,可用滑鼠左右拖曳。


wfublog-2017-3-WFU BLOG 使用 RWD 範本改版紀錄(2017)

當螢幕尺寸較小時,例如手機上會自動改為一張圖片輪播



五、首頁板塊


1. 文章區塊

wfublog-2017-4-WFU BLOG 使用 RWD 範本改版紀錄(2017)

新版的文章區塊,跟以往差別沒有太大,主要是滑鼠移到圖片上時,參考一些非官方範本做了特效。不過 WFU 沒有很習慣太花俏的功能,因此隨時可能取消這個效果。


2. 數字分頁

以往沒有裝數字分頁的功能,主要是可以少執行一段 JS。這次改版想到,其實數字分頁主要程式碼可以用「Blogger 判斷式」限制 "索引" 頁面才執行。

由於網站的瀏覽數主要來自於文章頁面,那麼非文章頁面多跑一段 JS 也就還好,因此加了這個功能。或許讀者進入標籤頁面,要找比較舊的文章時,數字分頁可以幫上一點忙。


3. 雜誌版型

這次首頁的最大變革,是參考了許多非官方範本的雜誌版型。

wfublog-2017-5-WFU BLOG 使用 RWD 範本改版紀錄(2017)

上圖是其中一個區塊,會隨機挑選特定標籤,隨機顯示 6 篇文章 + 大尺寸縮圖,且右上角的「更多文章」按鈕可讓訪客閱讀同標籤的其他文章。


wfublog-2017-6-WFU BLOG 使用 RWD 範本改版紀錄(2017)

這是另一種雜誌版型的排列方式,功能的設計跟前一個區塊一樣,算是增加版面的變化。

這邊可以提醒讀者的地方是,不是每個網站都適合「雜誌版型」

  • 首先你的文章數要夠多
  • 同標籤的文章數也要有一定的數量
  • 我看過某些網站在文章數不多的情況下,用了很精美的雜誌版型,結果首頁最新文章、多處標籤的同一篇文章,在同一個頁面至少出現了 3~4 次,連側邊欄的熱門文章也可能出現,多少有些尷尬。
  • 總之,重複展示同樣的文章,算是有點浪費寶貴的首頁版面空間。



六、文章頁面


1. 取消讚、+1 按鈕

文章頁面的變化主要在文末區塊,在 "只放必要外掛" 的前提下,我刪除了 "讚"、"+1" 按鈕,算是下了個很大的決心。

一方面是發現,把樣本拉大來看,訪客很少在文章頁面按讚(大部分會在 FB 按),一方面是每當發現可以少裝一個外掛、提升載入速度時,其實還挺開心的~


2. 精簡版面

將分享按鈕縮減為 3 個,跟標籤放在同一行,節省不少空間。


3. 作者區塊

舊版的作者區塊,現在回頭看真的字太多、壓迫感比較重。

wfublog-2017-7-WFU BLOG 使用 RWD 範本改版紀錄(2017)

改成以上的版面配置後,覺得看起來清爽多了!



七、留言區塊


1. 留言分頁

原本放了三種留言板(含 FB、G+),但覺得除了 Blogger 原生留言板,其他的留言數少到可以無視,因此決定只放官方留言板,可以大大減少執行的外掛。


2. 留言編號

原本的留言編號需要用 JS 執行,不過研究出「使用 CSS 語法就能讓 Blogger 自動產生留言編號」,又可以少執行一段 JS 了。


3. 留言注意事項

順便研究一下如何讓讀者留言時,能真的看到 "提問請詳細描述狀況,並附網址或截圖" 這幾個字,因為常常很多提問沒附任何相關資料。

研究成果請見「讓 Blogger 留言注意事項能隨留言框移動,訪客才能真正看到」。



八、側邊欄


因為版面形式改了,舊版的側邊欄分頁功能,已經不適合新的版面,因此研究可以怎麼設計新的分頁樣式。

wfublog-2017-8-WFU BLOG 使用 RWD 範本改版紀錄(2017)

這一項可以說是本次改版最有趣的任務了,分頁功能可參考上圖,右上角是收合按鈕,不過有趣的地方從圖片看不出來,要滑鼠移到分頁上才會看出端倪~

如果你的滑鼠在 "友格" ~ "關注2" 之間快速移動,綠色底線也會跟著一起跑喔,玩玩看吧



九、廣告


1. 矩型廣告

舊的版面在繼續閱讀處放了 640x300 的廣告尺寸,但改用 RWD 版型後,就不能使用固定的尺寸了。

於是改放 300x250 的廣告,且兩個並列,心想這樣差不多可以填滿大部分文章區塊的寬度。

結果測試各種裝置時發現,在某些平板直立時,寬度不足以塞下兩個 300x250 廣告。

RWD 版型就是麻煩在這裡,還得另外用 JS 先判斷區塊寬度,當寬度不夠時,只顯示一個 300x250。


2. RWD 廣告

也測試放 RWD 廣告一陣子,結果發現「Adsense 回應式(RWD)廣告雖然版面美觀,可惜收益少很多」,建議按照該篇的說明,為 RWD 廣告限定展示的尺寸,以免出現大量低價廣告。



十、快捷按鈕


原本在友站「Dribs & Drabs」看到浮動導覽列上,放了好幾個連結圖示,覺得這樣的設計應該可以有不錯的應用。

後來想到可以做成快捷按鈕的形式,按下圖示後前往頁面上的某個錨點,也是一種不錯的導覽功能,這就產生了我認為新版最重要的設計:「快捷按鈕」


shortcut-guide-1-WFU BLOG 使用 RWD 範本改版紀錄(2017)

浮動導覽列的最右邊,紅框處的 4 個按鈕,由左到右按下後,可以迅速跳到「聯絡表單」、「文章分類」、「網頁最上方」、「搜尋工具」,這 4 個重要區域。


shortcut-guide-2-WFU BLOG 使用 RWD 範本改版紀錄(2017)

如果覺得滑鼠移動到導覽列太遠,那麼側邊欄的浮動區塊,上圖底部紅框處,同樣設計了 4 個快捷按鈕可以使用。




當網頁寬度不夠時,網頁底部會自動出現上圖紅框的浮動區塊,有 3 個快捷按鈕可用(搜尋按鈕在右上方浮動)。


十一、減少圖片及外掛


其餘加快網頁載入速度的作法,整理如下:

  • 側邊欄的「熱門文章」改成只顯示文章標題,可減少 8 張圖片載入。
  • 刪除原本留言區塊上方的「隨機文章輪播」,可減少大量的 http 請求、去除輪播外掛。
  • 移除「histats」流量統計外掛,改成直接看 GA 統計數據。
  • 移除側邊欄「網誌存檔」官方工具。

以上就是 2017 改版的摘要紀錄,希望能讓讀者看到更美觀的版面,等待網頁載入的時間更短,操作上也能夠更直覺、順暢,能有比以往更好的閱覽體驗。


更多「使用者體驗」相關文章:

Blogger 側邊欄自製分頁(Tab)小工具﹍Bootstrap 應用

$
0
0
多年前曾寫過「Blogger 側邊欄簡易分頁功能」系列文章,當時做的 Tab 分頁樣式比較簡單,沒有使用任何外掛,效果算是堪用。

從當年的版面樣式也可看到歲月的痕跡,頁簽形狀用 CSS 刻得很辛苦,還有瀏覽器相容度問題。現在網頁技術太進步,有各種處理 CSS 版面的框架(framework),例如最知名的 Bootstrap,預設效果就有各種好看的按鈕、頁簽形狀等,還可讓我們不必煩惱瀏覽器相容性問題。

本篇會利用 Bootstrap 重新製作 Blogger 側邊欄分頁工具,優點有這些:

  • 安裝方式比舊版簡便許多
  • 安裝多個分頁工具時不會打架
  • 不用注意小工具的擺放位置

有了這樣的分頁工具,不但可讓側邊的版面簡潔,也可減少讀者的滑鼠捲動時間。



(圖片出處: peakpx.com)


一、準備動作


1. HTML/JS 工具

這個分頁工具比較建議,放入可以用「HTML/Javascript」工具執行的內容。

也就是說,原本側邊欄「HTML/Javascript」工具的程式碼,可以直接塞在這個工具裡面來執行,沒有問題。


2. 官方工具

如果希望在這個分頁工具,塞入 Blogger 官方工具的話,有些可能無法執行

因為有的官方工具是用 JS 動態執行的,複製到這個分頁工具後就有可能失效,請注意這點。

如果你放了官方工具在分頁,有的可以正常運作、有的不行,那麼不能執行的就建議不要使用,這是沒有辦法的事。


3. 找出側邊欄小工具 ID

如果還是要使用官方工具的話,需要找出小工具的 ID,方法如下──

Blogger 後台 → 主題」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋小工具的標題字串,以下是範例程式碼:

<b:widget id='CustomSearch1' locked='false' title='搜尋' type='CustomSearch'>

<b:widget id='Label1' locked='false' title='標籤' type='Label'>

以上兩段程式碼藍色字串就是該區塊的 ID,請記下自己範本裡面的 ID 字串,不一定跟以上長得一樣。



二、安裝 Bootstrap


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

請到後台「主題」→「編輯 HTML」,游標點進範本區塊,按 Ctrl-F 搜尋 </head>這個字串,找到後在此字串的前一行,插入以下程式碼:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<link href='//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css' rel='stylesheet'/>
<style>
#CustomSearch1, #Label1{display:none;}
ul.tabMenu>li{margin:0 10px -1px 0;padding:0}
ul.tabMenu>li>a{cursor:pointer}
.tab-content{padding-top:10px}
</style>

  • 第 1 行綠字可參考「引用 jQuery 的注意事項」,檢查範本是否已安裝過 jQuery,如果已經安裝過請刪除此行,以免重複安裝。
  • 第 2 行載入 Bootstrap 的 CSS 檔案。
  • 如果分頁沒有使用官方工具,可刪除藍色字串那一行;如果有使用官方工具,藍色字串請改為自己的小工具 ID,記得前面都要有 "#",每個 ID 用小寫逗號 "," 隔開,最後一個 ID 後面不要有逗號
  • 如果熟悉 CSS,可自行修改其他 CSS 參數。

完成後儲存範本。



三、安裝主程式


到後台 → 版面配置 → 新增小工具 → 選擇「HTML/JavaScript」→ 填入標題、及以下程式碼:


以下修改請參照以上程式碼行號:

B~D:藍色字串可改為自訂的分頁名稱

H~J:如果第 1 ~ 3 個分頁,都是放「HTML/JS」程式碼的話,這 3 行的綠色字串請依序置換為對應的「HTML/JS」內容

I~J:假設第 2 ~ 3 這兩個分頁,要放官方工具的內容,可刪除綠色字串,並將紅色字串改為自己的官方工具 ID 字串。但如果都沒有要放官方工具的內容,請刪除紅色字串,保持像 H 行 data-id 後面的狀態

O:預設會隱藏這個分頁工具的標題。如果要顯示標題的話,請將 true 改為 false。

儲存後即可,想要先看效果可前往展示頁面:




四、常見 FAQ


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


更多 Blogger 相關工具:

Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理

$
0
0
bootstrap-cheat-sheet-Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理jQuery 這套框架(framework)的誕生,是為了讓工程師寫更少的 Javascript、做更多事。同樣的,Bootstrap 的誕生,可以讓前端工程師處理版面 CSS 時節省許多時間,能專注在更重要的主題上。

Bootstrap 把網頁設計常用的元件,例如按鈕、表單、表格等等,都打包成一組組的 class 名稱,直接呼叫就能產生不錯的樣式、版面。

但我們很難記住所有的 class 名稱,因此有個便利的線上速查表是非常必須的,就算買本 Bootstrap 書來翻,速度都還嫌太慢。在網路時代 "搜尋" 才是王道,使用實體英文字典的年代已經過去了

最近使用 Bootstrap 的頻率挺高,因此整理了這篇含多種用途的速查表,中英文都有,同時也會說明適合使用的族群、或場合。



一、Bootstrap 3 & 4 英文版


首先介紹英文網站,如果閱讀英文 ok 的話,查閱 Bootstrap 的效率最好、最為推薦。


1. 最佳速查表


這個網站設計得太棒了,因此詳細說明所有操作的方式。雖然網站名稱註明了 "Bootstrap 4",但實際上有選項可以只查詢 Bootstrap 3,因此不必擔心版本的問題


bootstrap-cheat-sheet-1-Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理

  • 這個網站很貼心,已經將 class 名稱依照不同功能分類
  • 進入網站後,預設會展開所有分類群組
  • 如上圖,Buttons 代表所有「按鈕」相關的 class
  • Forms 代表所有「表單」相關的 class
  • Tables 代表所有「表格」相關的 class


bootstrap-cheat-sheet-2-Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理

  • 隨意點擊一個 class 名稱,例如 "btn-primary" 這樣的按鈕,會出現上圖畫面
  • 「Code snippet」區塊會說明如何使用語法
  • 「Preview」區塊會展示語法在螢幕上的效果,例如上圖的藍色按鈕,真的一目了然
  • 同時 class 名稱右下角會出現兩個圖示,供複製字串之用
  • 按鈕 A 可複製 class 名稱字串
  • 按鈕 B 可複製「Code snippet」區塊的語法


bootstrap-cheat-sheet-3-Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理

為了方便尋找分類群組,可按上圖紅框的「Collapse all」,將分類群組收合,看分類名稱就比較方便了。


bootstrap-cheat-sheet-4-Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理

若網站安裝的是 Bootstrap 3,卻誤用了 Bootstrap 4 的 class,可是沒有作用的。

那麼可按上圖紅框的「Highlight new in v4」,所有 V4 版本的 class 名稱會自動加上綠色背景,就不會用錯了


2. 依字母排序

另一個英文網站,則是整理了所有 V3 class 名稱,並依字母排序:


同時提供 PDF 檔下載,如果有這方面的用途可以參考。



二、Bootstrap 3 中文版


1. 官方說明書


官網提供了所有 class 的使用教學、範例,不過全英文的內容很難啃得下去。

但官網內容有世界多國語言的翻譯版,版面的編排方式其實也適合拿來當速查表用。


2. 繁中版


進入網站後,右邊有一排導航性質的分類項目名稱:

bootstrap-cheat-sheet-5-Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理

  • 例如紅色底線的 "表格"、"表單"、"按鈕",都是分類項目名稱
  • 按下分類名稱後,頁面會跳到該分類的錨點位置,並展開分類的細項
  • 點擊紅框內的細項名稱可再前往對應的錨點位置
  • 以上的操作,也算是接近速查表的使用方式


同時因為翻譯了 Bootstrap 原文說明內容,這個網站也可以說是很好的 Bootstrap 學習教科書。

可惜操作上有這樣的缺點:

  • 網站內容禁止複製,會彈出視窗告知,指定範圍的內容才能複製
  • 但某些指定範圍的「copy」按鈕,按了並無作用
  • 當大部分語法都不能複製時,對學習會造成很大的障礙

可能因為譯者穿插了一些註釋,為了保護自己的心血,所以出此下策,那麼也許可以針對註釋的區塊來做保護機制就好。

對於需要複製語法的讀者,可考慮使用另一個簡中版的網站,不會有防複製的機制。


3. 簡中版

bootstrap-cheat-sheet-Bootstrap 3 & 4 速查表(cheat sheet)﹍中英文版整理


如果看得懂簡體字的話,那麼就可使用這個網站來學習 Bootstrap,因為內容、版面配置都是一模一樣的,直接翻譯英文官網內容。

速查表的操作方式,請參考繁中版的說明即可。



三、小結


  • 對於已經熟悉 Bootstrap 的讀者,建議使用「一、Bootstrap 3 & 4 英文版」→「1. 最佳速查表」,可節省很多時間。
  • 如果還不熟悉 Bootstrap,建議先從中文版翻譯網站學習概念、使用方法。基本概念都具備後,就可使用英文速查表了。


更多 CSS 技巧:


更多 Bootstrap 相關文章:

Blogger 刪了你的網站並告知是 Spam 垃圾網站怎麼辦?是否自架站會比較安全?

$
0
0
blogger-spam-blog-delete-Blogger 刪了你的網站並告知是 Spam 垃圾網站怎麼辦?是否自架站會比較安全?前陣子有讀者傳來訊息,表示知名的軟體下載網站「阿榮福利味」一度被 Blogger 刪除,詢問我的意見:

blogger-spam-blog-delete-1-Blogger 刪了你的網站並告知是 Spam 垃圾網站怎麼辦?是否自架站會比較安全?

看起來是滿嚴重的事件,且阿榮也是我從小看著長大的網站,因此進 FB 瞭解一下是什麼狀況。

簡單說,是阿榮的分站被判定為垃圾網站(spam),且直接刪除未事先通知。如果是站長們自己遇到,第一次一定很沮喪,那麼究竟為何會這樣呢?

Blogger 網站被無預警刪除,WFU 之前曾協助過一位站長處理,詳情請見「Blogger 網站突然消失了怎麼辦?(網誌被刪除案例分析)」。

既然事後的處理已經說明過了,本篇的主題會著重在事前的預防,避免網站被 Blogger 當成 spam。

(圖片出處: pixabay.com)


一、為何被判定為垃圾網站





提供免費服務的公司當然不希望資源被濫用,會有一套機制來審查網站內容,有可能官方自己來,也可能是使用者檢舉投訴。

1. 官方審查

Blogger 官方會有兩種方式審查網站內容:

  • 程式自動審查:在機器學習成熟之前,誤判機率很高,我以前的客戶也常跟我反應,他的網站常常被判定為 spam 而刪除。不過大部分經過申訴後,人工審查沒問題的話,一段時間後會恢復。
  • 人工審查:Google 也是會另外用人工抽樣網站,檢查內容是否符合條款規定。


2. 被檢舉

被檢舉我相信是常有的事,因為網路盜圖文層出不窮,不算什麼新鮮事。WFU BLOG 以前被盜文時,我也記錄了這篇「Blogger 檢舉盜文流程實錄」。

對於盜文者我必須說,抱歉沒什麼空先禮貌地通知你「麻煩請下架」之類的話,時間很寶貴,檢舉表格填一填交給 Google 去處理就是了。

而後續這些網站是否被判定為「垃圾網站」、或是否立刻被刪除網站,這我就不得而知了,也許 Goolge 會根據歷史記錄來進行裁量。說不定被檢舉多次、有不良紀錄的網站,處罰的情況就比較嚴重。


3. 補充說明

分站出問題,主帳號被刪是有可能的,但並非絕對。我猜測是 Google 的一種保護機制,怕這是帳號被有心人士入侵後,製造出垃圾網站的結果

因此主帳號、主站有可能暫時消失,但 Google 會發通知信,按照流程取回帳號,證明帳號並非被入侵,那麼主帳號、主站就沒事了

但出問題的是分站,會有「申訴」按鈕可提出申訴。在申訴成功之前,分站還是不會恢復的。



二、哪些情況會違反官方內容條款


當然,不是只有 "盜文"、"抄襲" 會違反 Blogger 的規定,還有更多的細節,只是大部分站長不一定有時間看完所有的條款。

而且這類官方條款更麻煩的是,明明每個字都是中文,但組合起來不一定看得懂!

1. Blogger 內容條款


我想多數的站長,應該都不會違反官方的內容條款。但如果你會擔心自己網站被無預警刪除的話,那麼我會建議你詳讀一下上面的「Blogger 內容政策」連結。

其實一些基本的條款,例如成人內容、保護兒童、暴力、仇恨...等,很少網站會違反。而會違反的網站,我想大多都是盜文、盜圖、侵權這一類的。

如果你的網站寫的是很特殊的領域,那麼建議讀一下條款,下面會提供一個特殊案例。


2. 違反條款案例

Blogger 官方論壇這個討論串「網誌莫明其妙被列為SPAM ???」,說實在我對那位協助回答的外國人 Chuck Croll 佩服地五體投地。

詢問者用中文詢問,表示他的網站很正常,卻被當成 spam 刪了,回答者竟然有辦法挖出一些他有問題的網頁,例如抄襲別人的內容(曾用 RSS 複製),還有貼了 "藥局" 的圖文內容。

最後 Chuck Croll 還補了官方條款規定給他:

管制類商品與服務:不得利用 Blogger 販售或促銷受管制商品和服務 (包括酒類飲品、賭博、藥物、未核准補給品、菸草、煙火、武器或保健/醫療器材)。

注意到了嗎?上面列出了 "藥物"、"保健/醫療器材",這些內容寫在 Blogger 部落格是有可能出問題的!

因此,部落格寫特殊題材的站長,真的再提醒一下,請詳讀官方內容條款,以免不小心誤觸天條。



三、法律顧問的重要性


1. 免費平台需要注意使用條款

不止 Blogger,如果你還經營 FB、Instagram、Flickr...等等,那麼任何一處的平台,不小心都有可能誤觸規定而被刪除。

對於這類制式、落落長的官方條款,沒時間看是一回事,有看沒有懂才是真的。

FB 有太多案例,經營了好幾年的名人,忽然間帳號就被砍了,沒聲沒息不會事先通知。

前陣子我也寫了一篇「Blogger 使用 Flickr 當圖床,可能違規被停權 + 圖片消失的所有案例整理」,就有非常知名的大咖網站,所有 Flickr 圖片瞬間蒸發不見。

我要表達的是,使用免費平台後,若是帳號無預警被砍,對你會造成極大經濟損失的話,那麼建議詳細閱讀官方規定,看不懂也得想辦法懂,只能按著別人的遊戲規則走。


2. 諮詢法律顧問

如果搬離這個平台的成本,是你無法負擔的,但你又看不懂官方條文怎麼辦?

那麼我會建議:

  • 想辦法諮詢法律專業人士
  • 負擔得起的話,為網站找位法律顧問

這就像一人公司,沒錢請業務、會計,當然更不會有錢請法律顧問。在這樣的規模下,就算公司倒了,頂多重來一次就是。

但是等公司規模越來越大時,跟法律顧問合作帶來的效益,就看得出來了,可以讓公司不會瞬間被告垮(不會被檢舉),或是避免做出錯誤決策。



四、是否自架站比較安全?


「免費的最貴」,那麼是否還是自架站比較安全?直接跳這個結論可能太過簡化推導過程,就像 A → Z,這中間有太多因素需要考量。

或許我的考量不一定十分周全,以下是目前想到的:

1. 適法性

如果網站本身的內容就有問題,例如在免費部落格平台架「內容自動生成」的網站(撈別人的文章、盜文),可能會被檢舉,那麼改用自架站就比較安全嗎?

因版權、著作權問題被抓到時,對方照樣可以提告、或函請主機商將網站下架,那麼自架站並不代表就會沒事。

如果網站刊登的內容不合法,例如前面的案例提到 "藥物"、"保健/醫療器材",萬一寫的內容不小心觸法,那麼不管在哪架站,衛福部都可能找上門的。


2. 資金

如果資金充足,那麼想在哪裡架站當然都沒問題,這一點在「Blogger 是否搬家到 Wordpress 的比較﹍部落格經營觀念釐清」已經論述過。

如果網站的內容並沒有什麼遊走邊緣地帶的問題,那麼就不用擔心網站被當成 spam。可以使用免費的 Blogger 架站,不但省荷包,WFU 也看不出有大缺點。如果在意平台是否影響 SEO 這件事,可參考「是否痞客邦、WordPress 的 SEO 比 Blogger 好,有這樣的事嗎?」。

我必須說,部落格類型的網站,並不需要自架站,Blogger 是最好的選擇,沒有之一,網站想要怎麼改,Blogger 都能實現。WFU 連「論壇討論區」、「會員系統」都做得出來,真的沒什麼做不到的。

如果需要 Blogger 的部落格成功經營案例,可以參考「電腦玩物」。當然,如果網站已經商業化,需要線上銷售平台,使用自架站會比較好。


3. 安全性

自架站需要自己處理網站安全的問題,主機需要防駭,這需要不少資金。

也許你可以請人來維護網站,那麼自架站的工程師跟 Google 的工程師相比,究竟自架站比較安全,還是 Google 的主機比較安全呢?


4. 備份

若 Blogger 站長還是擔心厄運不知何時會降臨自己頭上,怕網站不小心就不見了,那麼平時請養成習慣,定期備份網站資料。

請參考這篇「部落格文章如何全自動備份」,提供了各式各樣的方案自動備份網站文章,絕對不用擔心找不回圖文。


從以上這 4 點切入,讀者現在可以回過頭,重新評估看看,部落格自架站跟用 Blogger 架站,是否自架站就比較安全?



五、阿榮事件的看法


有了以上的論述內容,現在可以回過頭來看阿榮事件,說說我的看法:

  • 雖然阿榮提供軟體下載,但我相信阿榮是正派經營的網站,因為記得看過他貼出賣代理的正版軟體單據,金額不小。
  • 這個事件阿榮表示曾接到 Adsense 通知,要求下架微軟、Youtube 相關軟體,所以他改將這些軟體放在分站,結果分站被 Blogger 判定為 spam。
  • 這就代表網站有部分內容屬於危險的邊緣地帶。
  • 那麼如前面的論述,若是資金充足的話,商業性網站可以自架站,避免還要處理模糊地帶的事情。
  • 但流量巨大的網站,自架站的固定成本是非常高的。如果架站固定費用大於諮詢法律顧問的費用,我認為可以節省自架站的錢,繼續用 Blogger 就好,但該給法律顧問的絕對不能省,必須妥善處理網站模糊地帶的問題
  • 我看阿榮的網站,有合作的法律顧問,那就要看兩者的合作模式,是如何處理網站的問題。
  • 相信站長一定都很忙,不曉得網站哪裡會出問題,那麼最好是法律顧問能夠常駐,時時注意網站哪裡可能產生問題,不過這種模式的費用一定比較高就是了。



六、總結


雖然本篇講了很多,不過我覺得多數站長都不用擔心這件事,按下列步驟檢查就好:

  • 先確定網站內容有沒有灰色地帶
  • 檢查經營網站初期有沒有不懂事,曾複製別人的文章內容
  • 按照本篇提到的自動備份網站文章教學進行

那麼我相信你的 Blogger 網站會非常安全的。


更多「資訊安全」相關文章:

線上查詢 FB G+ Twitter 社群分享按鈕數據 + 立即檢視 FB G+ 留言板內容

$
0
0
fb-plus-twitter-share-count-comment-online-checker-線上查詢 FB G+ Twitter 社群分享按鈕數據 + 立即檢視 FB G+ 留言板內容前陣子因為網站改用「RWD 範本」,同時在精簡 JS 外掛的前提下,移除了 FB 讚、+1 按鈕,而且 FB 及 G+ 留言板也都不使用了。

現在偶爾想要知道某篇文章的社群分享按鈕累積數據,或是那篇的 FB、G+ 讀者留言內容,就會比較麻煩一些。

於是就做了本篇的線上工具,可以立即查詢任何網址的社群分享按鈕狀態(FB G+ Twitter),也能顯示該篇文章所有的 FB G+ 留言訊息。

(圖片出處: peakpx.com)


一、線上產生器






二、相關程式碼


以上的輸入框、按鈕等等樣式,使用「Bootstrap」就能很方便地快速做出來。

以下為取得相關資訊的程式碼及出處:

1. FB 讚 分享 + 留言數

http://graph.facebook.com/?id=http://www.wfublog.com/2017/03/blogger-rwd-official-template.html
如以上範例,在 http://graph.facebook.com/?id= 後面加上網址,就可取得:

  • comment_count 代表留言數
  • share_count 代表「讚+分享」的數量


2. Google +1 數

這個討論串「How do I get the counter of a google plus +1 button?」有人提供了 jQuery 的取得方式:

var url = "填入網址";
var data = {
"method":"pos.plusones.get",
"id": url,
"params":{
"nolog":true,
"id": url,
"source":"widget",
"userId":"@viewer",
"groupId":"@self"
},
"jsonrpc":"2.0",
"key":"p",
"apiVersion":"v1"
};
$.ajax({
type: "POST",
url: "https://clients6.google.com/rpc",
processData: true,
contentType: 'application/json',
data: JSON.stringify(data),
success: function(r){
alert(r.result.metadata.globalCounts.count);
}
});


3. Twitter

這個網頁「widgetoon.js & count.jsoon」提供了某個非官方 Twitter API 的串接方式:

http://jsoon.digitiminimi.com/twitter/count.json?url=http://google.com
如以上範例,在 http://jsoon.digitiminimi.com/twitter/count.json?url= 後面加上網址,就可取得 twitter 數量。


4. FB 留言板

取得特定網址的 FB 留言板狀態,可使用「FB 官網 API


5. G+ 留言板

取得特定網址的 G+ 留言板狀態,可參考「Blogger 轉換為 G+ 留言系統的各種方法」→「四、各種網頁都能安裝的方法」


更多社群分享按鈕相關文章:

分享到 Line 會遇到的問題整理﹍縮圖+影片+網址

$
0
0
post-share-to-line-problems-faq-分享到 Line 會遇到的問題整理﹍縮圖+影片+網址有多位讀者、客戶都曾反應,分享文章到 Line 的效果不如預期,例如無法顯示縮圖、或者圖不是他要的等等。

那麼本篇就整理一下各種網址、影片分享到 Line 時,可能會遇到的問題有哪些,以 FAQ 形式的方式呈現。

(圖片出處: picsee)


一、為何 Line 無法顯示縮圖?


1. 以前的 Line

根據我的使用經驗,以前 Line 為了節省伺服器運作成本,應該是直接用 FB 的 API 來抓縮圖資料。因為以前分享到 FB 會產生的縮圖,跟分享到 Line 產生的縮圖,基本上是一致的。

這樣的話,當文章沒有「正確設定 FB Meta 標籤」時,分享到 FB 不一定能產生縮圖,那麼連帶的 Line 也就無法產生縮圖了。

另外必須參考「為何分享文章會被 FB 封鎖」,當 FB 分享被過度使用、或濫用時,也會造成 FB 縮圖無法顯示,那麼就導致 Line 去爬 FB 資料時也爬不到了。


2. 現在的 Line

隨著 Line 的市佔率提升,我相信他們已經有預算可以用自己的伺服器爬網址相關資料了,因為最近測試的結果:

  • 一個沒正確設定 FB Meta 資訊的網頁,分享到 FB 時無法產生縮圖
  • 當相同網址分享到 Line 時,Line 會自行爬取該網頁的圖片,並產生縮圖
  • 這代表分享到 FB 與 Line 的縮圖已經不會連動了
  • 所以被 FB 封鎖的網頁,不一定會被 Line 封鎖


3. 過度使用 Line 時

然而,還是會有讀者反應分享到 Line 沒有縮圖的狀況,那麼這代表 Line 也是會觀察使用者的行為模式,如果偵測到類似農場四處分享貼文的狀況,也就是有過度使用 Line 時,就可能會封鎖縮圖。



二、能否選擇 Line 顯示的縮圖?


1. 自訂 Line 縮圖的重要性

對於眾家小編來說,分享時顯示的縮圖是非常重要的,關係著能否吸引目光注意、以及點擊率。

能正確設定 FB Meta 資訊的話,可以控制分享文章時出現指定的縮圖。但如果缺乏相關知識時,且現在 FB 與 Line 已經拖勾後,有沒有簡單的方法,可以快速設定每篇文章的縮圖呢?


2. 第三方服務 PicSee

有的,可使用這個這個服務:


使用教學可參考「PicSee 專為社群分享設計的縮網址」,任何網址輸入後:

  • 這個服務會產生一個縮網址
  • 並撈出該網頁的所有圖片讓你選擇
  • 還可調整縮圖要顯示的區域範圍
  • 也有線上簡易特效、編修圖片功能
  • 圖片都不滿意的話,還能自己上傳

所以使用 PicSee 後,分享這個縮網址到 Line,絕對可以產生滿意的縮圖。


3. 影片也可自訂縮圖

不只是文章網址,影片的預覽畫面在分享時也非常重要,同樣可以用 PicSee 來製作影片的預覽縮圖。



三、FB 分享到 Line 的相關問題整理


在 FB 看到不錯的貼文、影片,要怎麼分享到 Line 呢?

1. 網頁版貼文網址

fb-share-to-line-1-分享到 Line 會遇到的問題整理﹍縮圖+影片+網址

如上圖,對著 FB 貼文日期按右鍵 → 複製連結網址,就可貼到 Line 了。


2. 網頁版影片網址

fb-share-to-line-2-分享到 Line 會遇到的問題整理﹍縮圖+影片+網址

  • 取得 FB 影片網址之前,請勿必先確認是否為「公開」影片。
  • 接著如上圖,對著影片按右鍵 → 顯示影片網址,就能複製網址了。


3. 手機版分享方式

fb-share-to-line-3-分享到 Line 會遇到的問題整理﹍縮圖+影片+網址

手機較難從頁面上取得 FB 貼文、影片網址,不過可以先進入該則貼文或影片,以 Chrome 為例,按右上角紅框的選單按鈕──


fb-share-to-line-4-分享到 Line 會遇到的問題整理﹍縮圖+影片+網址

就能看到「分享」選項,接下來跟著畫面剩餘的步驟,選擇分享到 Line 指定的聊天室即可。



四、手機為何無法顯示縮圖?


有時會發現分享到手機的網址,看不到縮圖顯示。除了前面提到過度使用時,可能會被 Line 分享,但如果網頁版可以顯示,而手機版不能顯示,那就是手機版的問題了。

有可能是手機版沒有自動更新,使用了較舊的 Line 版本,可以試著更新到最新版本,應該就能顯示縮圖了。



五、分享的網址太長、有亂碼能否解決?


有時分享到 Line 的網址太長,造成視覺效果不太好,例如痞客邦網址常常有中文字元:

fb-share-to-line-5-分享到 Line 會遇到的問題整理﹍縮圖+影片+網址

上圖紅框的網址,分享到 Line 後,會轉換成一堆亂碼:

fb-share-to-line-6-分享到 Line 會遇到的問題整理﹍縮圖+影片+網址

  • 光是這個連結就佔據了超過 1/2 個手機螢幕,觀感不太好。
  • 此時可利用縮網址服務,例如「Google 縮網址」。
  • 也可使用前面介紹的 PicSee,除了縮網址還能自訂縮圖。



六、能否分享 IP 位址?


這篇「Line 分享按鈕﹍網頁版及行動裝置都相容的語法」→ 留言 #3 ~ #5 有讀者表示,分享到 Line 的網址如果是 IP,會無法顯示縮圖。

經實測後的確是如此,且多家縮網址服務,也都撈不到 IP 網址的內容,看來這件事有技術上的難處,因此不建議分享 IP 數字為主的網址。



七、文章的縮圖換了,但 Line 還是舊圖怎麼辦?


分享到 FB 的文章,若是換了文章封面圖,官方有提供「清除快取的偵錯工具」,只要強制 FB 重新抓取網頁資料即可。

但 Line 並沒有這樣的工具,若是某個網頁曾被 Line 快取了,又想要更改縮圖時怎麼辦呢?

此時又要搬出 PicSee 這個萬用工具了,把舊網址再餵一次 PicSee,重新選擇縮圖,就可解決這個問題了。


更多 Line 相關文章:

製作網頁表單時,如何讓複雜的配置也能完美對齊﹍Grid 網格系統

$
0
0
complex-form-custom-grid-system-製作網頁表單時,如何讓複雜的配置也能完美對齊﹍Grid 網格系統如果熟悉「Bootstrap」這套 CSS 框架,那麼製作網頁表單不是什麼難事,查閱一下適合表單使用的 class 名稱,就能快速做出美觀、有一定水準的表單。

最近處理一個大型專案,需要製作許多複雜的表單,結果碰上了難題。什麼程度稱為 "複雜" 呢?可以想像一下填寫履歷表,或是進銷存系統(ERP)的表格,這類表單跟網頁上常看到的表單結構差很多,若使用 Bootstrap 是做不出來的。

當然,基本的表單元件、顏色樣式等等,靠 Boostrap 還是比較快,而複雜的表單要怎麼做出來,可參考本篇的心得分享。

(圖片出處: picjumbo.com)


一、複雜表單案例


1. 簡易表單製作

可參考這個教學網站「Bootstrap 3 中文手冊」,跟著這些範例學習語法,就能做出各種表單元件。

同時這個網頁的所有表單範例,都可視為簡易形式的表單。


2. 複雜表單範例

complex-form-custom-grid-system-1-製作網頁表單時,如何讓複雜的配置也能完美對齊﹍Grid 網格系統

上圖是一個比較複雜的表單設計圖,困難之處說明一下:

  • A 處有 2 個 input 輸入框(縣市與地區),當作這 2 個輸入框的大小一樣,會比較好製作。
  • B 處也有 2 個 input 輸入框,區碼跟電話號碼的寬度一定是不一樣的,要如何設定就得花些腦筋了。
  • 根據設計圖,A 處與 B 處各自的 2 個輸入框,合起來的寬度要一模一樣,也就是紅色底線的寬度要一樣,這就非常困難了。
  • D 處的「電子信箱」輸入框,跟「機構負責人」、「身份證字號」的輸入框一樣寬,不會是難事,設定一樣的 class 就好。
  • 但 C 處 3 個不同尺寸的輸入框,加總寬度要跟 D 處一樣,這難度比 A、B 兩處要相等還困難。

如果只有一個網頁要製作,乾脆土法設定個別輸入框的寬度就算了。但這是一個龐大的專案,有大量的表單要製作,長遠之計還是得想出一套方法,來解決表單元件版面寬度對齊的問題。


3. Bootstrap 網格系統

前面提到的教學網頁,在「控制表單大小」的部分,提供了「Column 大小」這樣的範例:

complex-form-custom-grid-system-2-製作網頁表單時,如何讓複雜的配置也能完美對齊﹍Grid 網格系統

如果熟悉 Bootstrap 網格系統(Grid System),這是一個將區塊切成 12 等分的系統,上圖就是將 3 個 input 表單,各自設了 2、3、4 等分的寬度,看起來能夠解決表單對齊的問題,不過有這些缺點:

  • 每個切割的區塊,左右 padding 都是 15px,代表每個區塊一定要間隔 30px,這距離實在太長。
  • 每個表單元素(例如 input),外面都必須包一層 DIV,才能使用網格系統
  • 只能切 12 等分,彈性太小,例如電話要填只有 2 個數字的 "區碼" 時,最少必須佔 1/12 的寬度,而且必須與左右間隔 30px,也太遠了。

會有這些問題,是因為網格系統不是為 "表單" 而設計,是為了 "網頁切版" 而設計,自然不適合表單來使用。



二、為表單而設計的網格系統


看起來也有國外網友試圖解決複雜表單的問題,我找到這個 Github 專案:


從命名就可看出,作者想做出能自適應(RWD)的表單網格系統,這是他提供的效果圖:

complex-form-custom-grid-system-3-製作網頁表單時,如何讓複雜的配置也能完美對齊﹍Grid 網格系統

其實看起來沒有跟 Bootstrap 相差太多,而且 Bootstrap 切割了 12 等分,這位作者還只切了 4 等分而已,看來是為了特定專案而設計的系統。

不過詳細看過他的 CSS 後,發現比 Bootstrap 好用,因為:

  • 表單元件外面不必另外包一層 DIV
  • 不同行的表單元件,的確可以對齊地很美觀

這樣 HTML 碼就好處理多了,於是我參考原作的原理,製作出適合我用的表單網格系統。如果讀者瞭解原理的話,也可改成適合你用的切割單位。



三、20 等分表單網格系統


1. 製作原理

我針對 Bootstrap 網格系統的缺點,做了以下調整,

  • 改為切割成 20 等分
  • 左右 padding 改成 5px
  • 為了方便調整表單元件位置,也可使用位移(shift)


2. 詳細 CSS 內容

<!--20 等分表單網格系統-->
<style>
.f1{float:left;margin-left:5px;margin-right:5px;width:calc(5% - 10px)}
.f2{float:left;margin-left:5px;margin-right:5px;width:calc(10% - 10px)}
.f3{float:left;margin-left:5px;margin-right:5px;width:calc(15% - 10px)}
.f4{float:left;margin-left:5px;margin-right:5px;width:calc(20% - 10px)}
.f5{float:left;margin-left:5px;margin-right:5px;width:calc(25% - 10px)}
.f6{float:left;margin-left:5px;margin-right:5px;width:calc(30% - 10px)}
.f7{float:left;margin-left:5px;margin-right:5px;width:calc(35% - 10px)}
.f8{float:left;margin-left:5px;margin-right:5px;width:calc(40% - 10px)}
.f9{float:left;margin-left:5px;margin-right:5px;width:calc(45% - 10px)}
.f10{float:left;margin-left:5px;margin-right:5px;width:calc(50% - 10px)}
.f11{float:left;margin-left:5px;margin-right:5px;width:calc(55% - 10px)}
.f12{float:left;margin-left:5px;margin-right:5px;width:calc(60% - 10px)}
.f13{float:left;margin-left:5px;margin-right:5px;width:calc(65% - 10px)}
.f14{float:left;margin-left:5px;margin-right:5px;width:calc(70% - 10px)}
.f15{float:left;margin-left:5px;margin-right:5px;width:calc(75% - 10px)}
.f16{float:left;margin-left:5px;margin-right:5px;width:calc(80% - 10px)}
.f17{float:left;margin-left:5px;margin-right:5px;width:calc(85% - 10px)}
.f18{float:left;margin-left:5px;margin-right:5px;width:calc(90% - 10px)}
.f19{float:left;margin-left:5px;margin-right:5px;width:calc(95% - 10px)}
.f20{float:left;margin-left:5px;margin-right:5px;width:calc(100% - 10px)}
.w1{float:left;width:5%}
.w2{float:left;width:10%}
.w3{float:left;width:15%}
.w4{float:left;width:20%}
.w5{float:left;width:25%}
.w6{float:left;width:30%}
.w7{float:left;width:35%}
.w8{float:left;width:40%}
.w9{float:left;width:45%}
.w10{float:left;width:50%}
.w11{float:left;width:55%}
.w12{float:left;width:60%}
.w13{float:left;width:65%}
.w14{float:left;width:70%}
.w15{float:left;width:75%}
.w16{float:left;width:80%}
.w17{float:left;width:85%}
.w18{float:left;width:90%}
.w19{float:left;width:95%}
.w20{width:100%;overflow:auto}
.l1{margin-left:calc(5% + 5px);margin-right:5px}
.l2{margin-left:calc(10% + 5px);margin-right:5px}
.l3{margin-left:calc(15% + 5px);margin-right:5px}
.l4{margin-left:calc(20% + 5px);margin-right:5px}
.l5{margin-left:calc(25% + 5px);margin-right:5px}
.l6{margin-left:calc(30% + 5px);margin-right:5px}
.l7{margin-left:calc(35% + 5px);margin-right:5px}
.l8{margin-left:calc(40% + 5px);margin-right:5px}
.l9{margin-left:calc(45% + 5px);margin-right:5px}
.l10{margin-left:calc(50% + 5px);margin-right:5px}
.l11{margin-left:calc(55% + 5px);margin-right:5px}
.l12{margin-left:calc(60% + 5px);margin-right:5px}
.l13{margin-left:calc(65% + 5px);margin-right:5px}
.l14{margin-left:calc(70% + 5px);margin-right:5px}
.l15{margin-left:calc(75% + 5px);margin-right:5px}
.l16{margin-left:calc(80 + 5px);margin-right:5px}
.l17{margin-left:calc(85% + 5px);margin-right:5px}
.l18{margin-left:calc(90% + 5px);margin-right:5px}
.l19{margin-left:calc(95% + 5px);margin-right:5px}
</style>
<!-- Designed by WFU BLOG -->

以上內容可放在 </head>之前。


3. 使用說明

  • f 代表 "form",也就是表單專用的意思。
  • w 代表 "width",專指切割版面寬度之用。
  • l 代表 "left" ,代表跟左邊位移的距離。
  • f1 ~ f20 代表 5% ~ 100% 的表單元件寬度,與左右元件的間隔會是 5px + 5px = 10px
  • w1 ~ w20 代表 5% ~ 100% 的區塊寬度,與左右沒有間隔
  • l1 ~ l19 代表與左邊間隔 5% ~ 95%,右邊間隔 5px

以下會有實例說明。



四、使用範例


complex-form-custom-grid-system-1-製作網頁表單時,如何讓複雜的配置也能完美對齊﹍Grid 網格系統

再看一下前面的表單設計圖,以下示範如何做到上圖 A~D 的對齊效果:

<div class="w20">
<label class="f3">身份證字號</label>
<input class="f10" type="text" />
</div>
<p/>
<div class="w20">
<label class="f3">戶籍地址</label>
<div class="w6">
<select class="f10"><option>縣市</option></select>
<select class="f10"><option>鄉鎮市區</option></select>
</div>
<input class="address f11" type="text" />
</div>
<p/>
<div class="w20">
<label class="f3">市內電話</label>
<input class="f2" placeholder="區碼" type="text" />
<input class="f4" placeholder="電話號碼" type="text" />
<div class="w4">
<span class="w10" style="text-align:right">分機#</span>
<input class="f10" placeholder="分機號碼" type="text" />
</div>
</div>
<p/>
<div class="w20">
<label class="f3">電子信箱</label>
<input class="f10" type="text" />
</div>


使用以上的 HTML 碼配合「20 等分表單網格系統」的 CSS,效果大致像以下的表單。行動版由於寬度不夠應該會變形,建議使用網頁版來看效果:


使用這個 20 等分表單網格系統後,可以看到上面的各個表單元件,彼此之間都能完美的對齊了。


更多 CSS 相關技巧:

前端開發神器 Emmet 快速上手教學整理﹍Sublime Text

$
0
0
網頁製作久了就會發現,手刻 HTML/CSS 挺累贅的。就像 jQuery 可以讓 Javascript 寫起來更快、不必糾結瀏覽器相容性問題,「Bootstrap」可以縮短網頁版面設計的時間,那麼 HTML/CSS 的輸入,有沒有快速便利的工具呢?

Emmet」(前身為 Zen Coding)就是為此而開發的工具,只要有一點點 CSS 選擇器的概念、基礎,就可以很快上手。它除了可以幫助我們輸入的作業,很重要的一點是,這樣的工具也可以降低手誤、打錯字的機率

本篇會以強大的編輯軟體 Sublime Text 作為使用環境,引導讀者如何快速學會 Emmet 語法,縮短輸入 HTML/CSS 的時間。



一、Sublime Text 安裝 Emmet




如果熟悉 Sublime Text 的話,以上內容可不看,按以下步驟即可:

  • 按 Ctrl + Shift + P
  • 輸入 install
  • 輸入 emmet 安裝即可



二、Emmet 上手技巧


Emmet 所有的語法都在這裡:



但初學者直接看這張全英文的速查表(cheat sheet),可能只會對這個工具更懼怕,因此建議將來再使用。

一開始可先看這篇,瞭解基本的概念:



簡單來說,Emmet 的使用方式可以看成這樣:

  • 輸入 HTML 元素名稱,配合 CSS 選擇器規則
  • 全部輸入完之後,按 Tab鍵,就會自動產生 HTML 碼


例如輸入以下簡碼:

div#container>p.title+div.body>span.snippet+img[src="wfublog.jpg"]

按下 Tab後,會自動產生以下 HTML 碼:

<div id="container">
<p class="title"></p>
<div class="body">
<span class="snippet"></span>
<img src="wfublog.jpg" alt="">
</div>
</div>

因此只要熟悉 CSS,就能無痛學會 Emmet 初階技巧。



三、Emmet 進階技巧


請參考這篇「Emmet 语法速查表」,初階的內容就略過,摘要一些重要的縮寫技巧,詳細內容請參閱該篇文章:


1. 省略 HTML 標籤名稱
  • div 可以省略
  • 特定標籤的子元素可省略,例如 table、ul、select

例如:

#WFU>table>.row>.body
可自動產生 div, tr, td 等標籤:

<div id="WFU">
<table>
<tr class="row">
<td class="body"></td>
</tr>
</table>
</div>


2. 括號 ()搭配乘號 *

例如:
#WFU>ul>(li>a)*3
可以自動產生 3 組 li 標籤(含 a):

<div id="WFU">
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</div>


3. 續編功能 $

例如:

ul>.wfu$*3
可以產生以下:

<ul>
<li class="wfu1"></li>
<li class="wfu2"></li>
<li class="wfu3"></li>
</ul>


想要補零位數的話,要補幾個位數,就重複 $ 幾次,例如:

ul>.wfu$$*3
可以產生以下:

<ul>
<li class="wfu01"></li>
<li class="wfu02"></li>
<li class="wfu03"></li>
</ul>


4. 續編功能指定起始數 $@N

前面的續編功能,如果不想從 1 開始,例如從 5 開始編:

ul>li.wfu$@5*3
可以產生以下:

<ul>
<li class="wfu5"></li>
<li class="wfu6"></li>
<li class="wfu7"></li>
</ul>




四、CSS 縮寫


關於 CSS 縮寫這部分,雖然有規則可循,不過還是很吃記憶力,建議自行參考以下網頁:

1. 簡單、常見的 CSS 縮寫介紹,可先看「Emmet 语法速查表」→「CSS 编写」這裡的內容。

2.「官方速查表」列出了詳細的 CSS 縮寫一覽,要很有耐心才能看得下去。



五、高階技巧


1. 高階技巧摘要

這篇「Emmet的高級功能與使用技巧」提供了比較少見、實用的使用技巧:

  • 使用 lorem 指令,可產生各種假內容、假標題,暫時填充版面的空間。
  • 按下熱鍵 Shift + Ctrl+ G,可為某個 HTML 元素,產生母元素內容,而且要包幾層都可以。這有點像是密技,因為一般的 Emmet 操作無法做到這件事。

上面這個密技還值得列出一個範例,如果客戶給了我們 3 個導覽列的項目名稱例如:

首頁
網站導覽
關於我們


將以上文字全部選取,按下熱鍵 Shift + Ctrl+ G,輸入以下母元素內容:

ul.wfu_nav>li.items$*>a
就會立刻產生以下導覽列 HTML 碼:

<ul class="wfu_nav">
<li class="items1"><a href="">首頁</a></li>
<li class="items2"><a href="">網站導覽</a></li>
<li class="items3"><a href="">關於我們</a></li>
</ul>

我只能說:Emmet 真是太神奇了!!

其他更多高階技巧請參考該篇文章。


2. 自訂快捷語法

這個使用方式有點像是某些輸入法的 "詞庫" 功能,例如設定輸入字串 "add" 後,會自動產生建立的詞庫內容 "台北市松山區...." 這樣的完整住址字串。

請參考這篇「自訂Emmet常用的網頁標籤語法並快速輸出」,在 Sublime Text 的 Emmet 系統設定之中,可以設定所有自訂的程式碼片段(snippet)內容,也就是快捷語法。

假設我常常需要輸入以下 WFU BLOG 的網址連結語法:

<a href="http://www.wfublog.com" target="_blank">WFU BLOG</a>

那麼我就可以設定一個快捷字串,例如 "wfu",完成所有設定後,將來只要輸入 "wfu" 並按下 Tab,就會自動產生 WFU BLOG 的網址連結語法了。


3. CSS 命名問題

網頁寫久了,會發現常常要花很多時間想 class 命名、怎麼避免重複字串。

這篇「emmet的css书写与命名技巧」提出的概念滿有意思的,如果我們的 class 命名都能保持一致性,符合一定的模式,那麼只要先命名好母元素的 class 名稱,利用 emmet 的快速鍵將可以快速、自動產生所有子元素的 class 名稱。

由於我的 class 命名技巧還在磨練中,那麼對這個主題有興趣的讀者,可以試試看能否將這個構想實作出來。



六、官網教學


除了本篇提到的這些 Emmet 相關教學網頁,其實官網也提供了滿詳細的教學文件,還有影音說明、線上實地操作等功能,如果覺得英文程度可以挑戰看看的話,不妨參考這些頁面:



更多 HTML 相關文章:


更多 CSS 相關文章:

Bootstrap 簡易版面製作範例﹍網格+面板+表單輸入+按鈕

$
0
0
bootstrap-webpage-layout-practice-Bootstrap 簡易版面製作範例﹍網格+面板+表單輸入+按鈕Bootstrap 的使用說明內容不少,份量足以出一本書,不過把工具書從頭看到尾的方式用來學習,效果不見得比較好。

如同「一圖勝過千言萬語」,從範例中來學習、吸收 Bootstrap,效率會來得更快,印象也比較深刻。

本篇提供一個簡單的小範例,可以熟悉以下這些功能的用法:

  • 網格
  • 面板
  • 表單輸入
  • 按鈕
  • Well

(圖片出處: negativespace.co)


一、原始架構及方針


1. Layout 草圖

這是最近的一個案例,案主需要將「樹莓派」(Raspberry Pi)裝置儲存的數據,在網頁上顯示,並需要搜尋功能。

bootstrap-webpage-layout-practice-1-Bootstrap 簡易版面製作範例﹍網格+面板+表單輸入+按鈕

上圖為原始需求的草圖:

  • 左右兩個欄位
  • 左邊按下對應裝置的按鈕後,要能顯示該裝置的數據
  • 右邊需要搜尋功能,抓出所有相同 ID 的裝置及數據

以上的版面架構算是滿簡單,從 Bootstrap 都能找到對應的組件來套用。


2. Bootstrap 組件

  • 首先分割左右欄位,可利用「網格」(格線)系統,還能做到自適應 RWD 效果
  • 左右欄位的標頭(header)區塊,可利用「Well」組件
  • 每個裝置的數據資訊區塊,可利用「面板」+「按鈕」組合拳
  • 搜尋功能可利用「表單」中的 input 組件來組合出草圖的效果

從以上說明瞭解進行的方向後,以下來看範例程式碼。

開始之前,可先參考「Bootstrap 3 & 4 速查表﹍中英文版整理」,瞭解相關語法的說明要去哪裡搜尋。

本文以下的說明請直接對照相關的中英文網站,主要將觀念帶到,細節就不深入了。



二、程式碼說明


1. 引用 Bootstrap

首先記得在 head區塊引用 Bootstrap:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"></link>


2. 網格(Grid)系統

  • 可先參考「Bootstrap Grid System 排版」,瞭解網格系統的概念
  • 切成左右 2 個欄位,我預計使用 4:8 的比例
  • 外圍使用 container-fluid會比 container有更好的 RWD 效果
  • 下一層使用 row組合左右 2 個欄位
  • 左邊欄位使用 col-sm-4,右邊欄位使用 col-sm-8,代表平板以上的寬度(768px)會維持 4:8 的比例
  • 768px 以下的裝置,左右兩欄會自動成為 100% 寬

簡單的切版範例如下:

<div class="container-fluid">
<div class="row">
<div class="col-sm-4"></div>
<div class="col-sm-8"></div>
</div>
</div>


3. Well

「Well」組件可以很方便的做出網站標頭(header)區塊,左右兩欄的範例如下:

<!--左邊欄位-->
<div class="well">目前裝置連線狀況</div>

<!--右邊欄位-->
<div class="well">搜尋頁面</div>


4. 面板(panel)

「面板」(panel)這個套裝組件,拿來顯示裝置資訊真是再好用不過了:

  • 最外層使用 panel,且可使用預設的 5 種顏色,請參考 Bootstrap 相關說明,例如 panel-primary是深藍色
  • 面板標題使用 panel-heading
  • 面板內容使用 panel-body
  • 面板底部使用 panel-footer

範例程式碼如下:

<div class="panel panel-primary">
<div class="panel-heading">裝置一</div>
<div class="panel-body">所有數據資料</div>
<div class="panel-footer">獲取第1台數據</div>
</div>


5. 按鈕(button)

上面的 "獲取第1台數據" 字串必須用按鈕的形式來呈現:

  • 再按鈕標籤 button使用 class btn可呈現預設按鈕樣式
  • 有 5 種預設顏色可使用,例如 btn-primary是深藍色
  • 若按鈕要佔用全部寬度,可使用 btn-block
  • 可改變按鈕尺寸,例如 btn-lg代表使用大尺寸按鈕

依據本案例的草圖,按鈕程式碼如下:

<button class="btn btn-default btn-block">獲取第1台數據</button>

6. 輸入框 + 送出按鈕(input)

右邊欄位的 "搜尋框 + 查詢按鈕",可使用 Bootstrap 的「輸入框組」功能:

  • 外圍宣告使用 input-group
  • 輸入框 input 必須使用 form-control
  • 輸入框可改變大小,例如大尺寸請使用 input-lg
  • 為輸入框加入額外元素可使用 input-group-addon,加入額外按鈕可使用 input-group-btn
  • 在額外按鈕之內,加入前面的 bootstrap 按鈕元件語法,就完成組合效果了

以下是範例程式碼:

<div class="input-group">
<input placeholder="輸入 ID" class="form-control input-lg" type="text">
<span class="input-group-btn">
<button class="btn btn-primary btn-lg">查詢</button>
</span>
</div>




三、完整程式碼


把以上每個部分都組合起來,以下是完整的程式碼:

<html>

<head>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"></link>
<style>
.well, .panel {text-align: center;}
</style>
</head>

<body>

<div class="container-fluid">
<div class="row">

<!--左邊欄位-->
<div class="col-sm-4">
<div class="well">目前裝置連線狀況</div>
<div class="panel panel-primary">
<div class="panel-heading">裝置一</div>
<div class="panel-body">這裡是數據內容</div>
<div class="panel-footer">
<button class="btn btn-default btn-block">獲取第1台數據</button>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">裝置二</div>
<div class="panel-body">這裡是數據內容</div>
<div class="panel-footer">
<button class="btn btn-default btn-block">獲取第2台數據</button>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">裝置三</div>
<div class="panel-body"></div>
<div class="panel-footer">
<button class="btn btn-default btn-block">獲取第3台數據</button>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">裝置四</div>
<div class="panel-body"></div>
<div class="panel-footer">
<button class="btn btn-default btn-block">獲取第4台數據</button>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">裝置五</div>
<div class="panel-body"></div>
<div class="panel-footer">
<button class="btn btn-default btn-block">獲取第5台數據</button>
</div>
</div>
</div>

<!--右邊欄位-->
<div class="col-sm-8">
<div class="well">搜尋頁面</div>
<div class="input-group">
<input placeholder="輸入 ID" class="form-control input-lg" type="text">
<span class="input-group-btn">
<button class="btn btn-primary btn-lg">查詢</button>
</span>
</div>
<br/>
<div class="panel panel-primary">
<div class="panel-heading">Raspberry Pi 加入成功 裝置 1</div>
<div class="panel-body">這裡是數據內容</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">Raspberry Pi 加入成功 裝置 2</div>
<div class="panel-body">這裡是數據內容</div>
</div>
</div>

</div>
</div>
</body>

</html>



四、範例效果


下面是程式碼的網頁執行畫面,從頭到尾只需設定 class 名稱,除了一個置中的 CSS 語法,完全不用調整其他 CSS 參數,就能得到一定水準的版面效果,Bootstrap 是不是非常方便呢!




更多 Bootstrap 相關文章:
Viewing all 784 articles
Browse latest View live