// ------------------------------------------------------------------------- //\r
var X_URL_BASE_URL = ( function( parts ){\r
var last = 1 < parts.length && parts[ parts.length - 1 ];\r
+ \r
if( last !== false && ( last === '' || //末尾が/で終わるとき\r
last.indexOf( '.' ) !== -1 ) ){ //末尾がファイル名で終わる時\r
--parts.length;\r
return parts.join( '/' );\r
})( X_URL_cleanup( location.href ).split( '/' ) ),\r
\r
+ X_URL_HOST = location.protocol + '//' + location.hostname,\r
+ \r
X_URL_IS_FILE = location.protocol === 'file:',\r
\r
X_URL_IS_LOCAL = X_URL_IS_FILE || location.hostname === 'localhost' || location.hostname === '127.0.0.1',\r
\r
'cleanup' : X_URL_cleanup,\r
\r
- 'getEXT' : X_URL_getEXT\r
+ 'getEXT' : X_URL_getEXT,\r
+\r
+ 'getSearch' : X_URL_getSearch,\r
+ \r
+ 'getHash' : X_URL_getHash\r
};\r
\r
// ------------------------------------------------------------------------- //\r
*/\r
function X_URL_isSameDomain( path ){\r
path = X_URL_cleanup( X_URL_toAbsolutePath( path ) );\r
- return path === X_URL_BASE_URL || path.indexOf( X_URL_BASE_URL + '/' ) === 0;\r
+ return path === X_URL_HOST || path.indexOf( X_URL_HOST + '/' ) === 0;\r
};\r
/**\r
* 同一プロトコルか?\r
return path.length ? path.pop() : '';\r
};\r
/**\r
+ * サーチクエリを返します。\r
+ * @alias X.URL.getSearch\r
+ * @param {string}\r
+ * @return {string}\r
+ */\r
+function X_URL_getSearch( path ){\r
+ path = path.split( '#' )[ 0 ].split( '?' );\r
+ path.splice( 0, 1 );\r
+ return path.join( '?' );\r
+}\r
+/**\r
+ * ハッシュフラグメントを返します。\r
+ * @alias X.URL.getHash\r
+ * @param {string}\r
+ * @return {string}\r
+ */\r
+function X_URL_getHash( path ){\r
+ path = path.split( '#' );\r
+ path.splice( 0, 1 );\r
+ return path.join( '#' );\r
+}\r
+\r
+/**\r
* object を url パラメータにします。値が object の場合、データは失われます。\r
* @alias X.URL.objToParam\r
* @param {object}\r