文章加密

;

2021年4月12日 星期一

one file for ltr and second for rtl

 https://www.npmjs.com/package/postcss-apply


https://stackoverflow.com/questions/56580681/generate-two-different-index-files-for-rtl-and-ltr-support-using-webpack

2021年4月8日 星期四

seo title 在302不會發送

 https://awoo.ai/zh-hant/blog/301-redirection-for-seo/


https://seo.whoops.com.tw/301-vs-302-redirects/


  • 301: 永久轉址,將舊網址的所有流量與排名一併的轉移到新的網址
    *注意:舊網址與新網址的內容一定要一樣或是高度相關,否則也算是黑帽SEO的一種,會遭到搜尋引擎的懲罰。
    在移轉的過程中,你可能會多多少少失去一點SEO的排名,影響的程度視你重定向做的完善與否有關,做的越完善,失去排名的衝擊越低。
  • 302: 將網址臨時的移動到新的URL,常用於A/B測試或是有短期的活動頁面而使用的。

    舉例來說,我們網站的網址是:https://seo.whoops.com.tw/,而我們今天做了兩個不同的主網站頁面,想要測試哪一個的轉化率與停留率較佳,因此分別做了:https://seo.whoops.com.tw/home1與https://seo.whoops.com.tw/home2做測試,此時就能利用302重定向轉址,當使用者訪問https://seo.whoops.com.tw時,能夠分別看到https://seo.whoops.com.tw/home1或https://seo.whoops.com.tw/home2,而不失去https:/seo.whoops.com.tw的排名。

    當我們測試完後,只要取消302重定向的設定,https://seo.whoops.com.tw/網址的排名與效果並不會受到影響。

    有時,網站管理員會使用302重定向網址來替代301重定向網址進行永久的網址轉移,雖然302重定向網址是短期臨時性的轉址,但當你長期使用302重定向網址後,沒有在短時間內取消設定,那麼長期下來你仍然會失去原始的排名,因為此時Google已經被你搞混了。
  • 黑帽SEO 
  • 白帽SEO

2021年4月6日 星期二

Promise 中會吞掉(隱藏)throw 例外的錯誤輸出,改用catch來作錯誤處理

 https://eyesofkids.gitbooks.io/javascript-start-es6-promise/content/contents/ch5_flow_n_error.html


// 用throw語句取代reject
const p1 = new Promise((resolve, reject) => {
  throw new Error('rejected!') // 用throw語句

  //相當於用以下的語句
  //reject(new Error('rejected!'))
})

p1.then(val => {
  console.log(val)
  return val + 2
})
  .then(val => console.log(val))
  .catch(err => console.log('error:', err.message))
  .then(val => console.log('done'))

//最後結果:
//error: rejected!
//done


OOCSS, SMACSS

  1.  OOCSS容器與內容分離
    https://www.youtube.com/watch?v=SAW4UosA-4o
  2.  SMACSS
    a. Base Rules  -- 通常會先清掉瀏覽器預設樣式(用reset.css或normalize.css),在寫入自己想要的預設樣式

    *{
        text-decoration: none;
    }

    b. Layout Rules -- 在每頁都有的共通的區塊算做為佈局,佈局樣式還可以根據重用分為主要樣式和次要樣式。用命名區分出針對的樣式(非內容),用 > 限定影響範圍

    .l-grid > li { display: inline-block; margin: 0 0 10px 10px; /* IE7 hack to mimic inline-block on block elements */ *display: inline; *zoom: 1; }
    c. Module Rules -- 每個模塊都應設計為作為獨立組件存在。如果操作正確,則可以輕鬆地將模塊移動到佈局的不同部分,而不會錯誤。

    <div class="fld"> <span class="fld-name">Folder Name</span> // 獨立組件 <span class="fld-items">(32 items)</span> // 獨立組件
    <span>123</span> // 可以保有原本span的特性 </div>
    當我們在不同部分中具有相同的模塊時,可以分類class去達成共用
    <div class="pod pod-constrained">...</div> <div class="pod pod-callout">...</div>
    pod-constrained, pod-callout是pop的擴充,且可以重複用在不同的地方

    不建議用html tag或id來做選擇器,因為html tag不好獨立開,id會有跟php衝突與只能唯一的情況

    https://www.youtube.com/watch?v=7HQg94jxTwM
    d. State Rules -- 通常由js觸發,用作開關
    class="is-hidden"
    class="is-error"

    id 權重會比自命名的class要高,所以建議state rules 使用時加上!important。

    https://www.youtube.com/watch?v=77SiAoekmeo
    e. Theme Rules

    http://smacss.com/book/type-theme
https://cythilya.github.io/2018/06/05/css-methodologies/

IIFE (Immediately Invoked Function Expression) 複習

 https://developer.mozilla.org/zh-TW/docs/Glossary/IIFE


Examples

Function 轉換為 expression 形式,並且馬上執行,function scope 內的變數在外面是無法存取的。

(function () {
    var aName = "Barry";
})();
// Variable name is not accessible from the outside scope
aName // throws "Uncaught ReferenceError: aName is not defined"

把 IIFE 只配給變數會儲存它的結果,而非 function 本身

var result = (function () {
    var name = "Barry";
    return name;
})();
// Immediately creates the output:
result; // "Barry"

其它形式

符合 JSLint 的版本,行為一樣,只有語意略有差異:

(function () {
    var aName = "Barry";
}());

Arrow function 版本,程式碼更為精簡,行為一致:

(() => {
    var aName = "Barry";
})();

Async function 版本,目前主要為了 top level await 而使用:

(async function () {
    var aName = "Barry";
})();

(async () => {
    var aName = "Barry";
})();

自動測試網站所有連結

Q: 我想檢查網頁超連結,只能一個一個點嗎 A: 用程式掃,看報表就好

發佈日期 : 2019-10-15 最後更新日期 : 2020-08-26

Dead Link Checker

  1. 網址:https://www.deadlinkchecker.com/
  2. 功能:
    • 免費、不用註冊的超連結線上檢測工具,只要填入自己網站的網址,它就會自動檢查整個網站上的所有網頁,找出有問題的連結。
    • 報表顯示的欄位和Broken Link checker有些不同;Dead Link Checker會直接顯示替代文字。
    • 註冊免費帳號,則可同時跑好幾個網站的報表。

Broken Link Checker

  1. 網址:http://www.brokenlinkcheck.com/
  2. 功能:Online Broken Link Checker 是一個免費、不用註冊的超連結線上檢測工具,只要填入自己網站的網址,它就會自動檢查整個網站上的所有網頁,找出有問題的連結。
  3. 使用說明:Broken Link Checker:網頁無效超連結線上檢查工具
語言:

reference: https://lis.mcut.edu.tw/p/406-1013-37306,r927.php?Lang=zh-tw