アンカーとパラメータ


//アンカーリンク
http://ほげほげ/#hoge
//同アドレスなら
#hoge

//パラメータとアンカーを併用する場合
//「URL + パラメーター + #アンカー」
http://ほげほげ.net/?utm_source=tama#hoge

URL(Uniform Resource Locator)Lがらみ
プロトコル名、ホスト名+ドメイン名、パス(ディレクトリ名、ファイル名),クエリやハッシュ
ttps://www.example.com/audio/list.php?page=2&sort_by=price&utm_source=fout
?パラメータ名=値&パラメータ名=値&…
//絶対パス【absolute path / フルパス】(ファイル名含む)
// paramete for location
let thisurl = location.protocol + '//' + location.host + location.pathname;
ディレクトリ
(ディレクトリのみ)
//ディレクトリ
  nJa_.vars.thisdir = location.pathname.substring(0, location.pathname.lastIndexOf('/')) + '/';
相対パス

nJa_.vars.abpath = location.protocol + '//' + location.host + location.pathname.substring(0, location.pathname.lastIndexOf('/')) + '/';
ファイル名・拡張子

  nJa_.vars.filename_ex = "";
  try {
    nJa_.vars.filename_ex = window.location.href.match(".+/(.+?)([\?#;].*)?$")[1];
  } catch(e) {
  }

  nJa_.vars.filename = "";
  try {
    nJa_.vars.filename = window.location.href.match(".+/(.+?)\.[a-z]+([\?#;].*)?$")[1];
  } catch(e) {
  }
URL置換

//クエリやパラメータを除いたURL
g$.path = function(url) {
  if(!url) url = location.protocol + '//' + location.host + location.pathname;
  return url.split(/[?#]/)[0];
}
//ファイル名.拡張子
g$.file = function(url) {
  if(!url) url = g$.path();
  return url.match(".+/(.+?)([\?#;].*)?$")[1];
}
//ファイル名
g$.filename = function(url) {
  if(!url) url = g$.path();
  return url.match(".+/(.+?)\.[a-z]+([\?#;].*)?$")[1];
}
//.拡張子
g$.filetype = function(url) {
   if(!url) url = g$.path();
   let $file = url.match(".+/(.+?)([\?#;].*)?$")[1];
  return $file.split('.').pop();
}
//aからbを取り除く
g$.reg = function(b) {
  return function(a){
   let regExp = new RegExp(b, "g");
   return a.replace(regExp,"");
  }
}
//ファイル名を含まないURL
g$.dir = function(url) {
  if(!url) url = g$.path();
  return g$.reg(g$.file(url))(g$.url(url));
}
ユーザーエージェント

// check userAgent nJa_.vars.os / nJa_.vars.ua / nJa_.vars.device / nJa_.vars.browser
nJa_.vars.ua = window.navigator.userAgent.toLowerCase();
if (nJa_.vars.ua.indexOf('iphone') > 0 || nJa_.vars.ua.indexOf('android') > 0 && nJa_.vars.ua.indexOf('mobile') > 0) {
  nJa_.vars.device = 'mobile';
} else if (nJa_.vars.ua.indexOf('ipad') > 0 || nJa_.vars.ua.indexOf('android') > 0) {
  nJa_.vars.device = 'tablet';
} else {
  nJa_.vars.device = 'pc';
}

if(nJa_.vars.ua.indexOf("edge") !== -1 || nJa_.vars.ua.indexOf("edga") !== -1 || nJa_.vars.ua.indexOf("edgios") !== -1) {
nJa_.vars.browser = 'edge';
} else if (nJa_.vars.ua.indexOf("opera") !== -1 || nJa_.vars.ua.indexOf("opr") !== -1) {
nJa_.vars.browser = 'opera';
} else if (nJa_.vars.ua.indexOf("samsungbrowser") !== -1) {
nJa_.vars.browser = 'samsung';
} else if (nJa_.vars.ua.indexOf("ucbrowser") !== -1) {
nJa_.vars.browser = 'uc';
} else if(nJa_.vars.ua.indexOf("chrome") !== -1 || nJa_.vars.ua.indexOf("crios") !== -1) {
nJa_.vars.browser = 'chrome';
} else if(nJa_.vars.ua.indexOf("firefox") !== -1 || nJa_.vars.ua.indexOf("fxios") !== -1) {
nJa_.vars.browser = 'firefox';
} else if(nJa_.vars.ua.indexOf("safari") !== -1) {
nJa_.vars.browser = 'safari';
} else if (nJa_.vars.ua.indexOf("msie") !== -1 || nJa_.vars.ua.indexOf("trident") !== -1) {
nJa_.vars.browser = 'ie';
} else {
nJa_.vars.browser = 'other';
}