Александр Коперник

Психоделическая литература. После выпитого Я


Предыдущий пост Поделиться Следующий пост
get hash
singu
al_kop
/**
* @usage: neyz_get_hash('my_key');
*/
function neyz_get_hash(k) {
  if (!document.neyz_LOCATION_HASH) {
      document.neyz_LOCATION_HASH = {};
      if (location.hash && location.hash != '' && location.hash != '#') {
          var rows = location.hash.substring(1).split('&');
          for (var i in rows) {
              var cells = rows[i].split('=');
              document.neyz_LOCATION_HASH[cells[0]] = cells.length === 1 ? cells[0] : cells[1];
          }
      }
      if (document.neyz_LOCATION_HASH && document.neyz_LOCATION_HASH[k])
          return document.neyz_LOCATION_HASH[k];
      else
          return false;
  }
}
Метки:

  • 1
А регэкспом не тру? Я когда-то вот такую заготовку сделал, которой и пользуюсь:

function getHashRequest(name) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&#]"+name+"=([^&]*)";
var regex = new RegExp( regexS );
var results = regex.exec(window.location.hash);
if (results == null) {
return "";
} else {
return results[1];
}
}

Зависит от того, как часто будет дёргаться функция как минимум.
Ну и регэксп, я думаю, всё-таки тяжеловат, если есть возможность его не юзать — лучше не юзать. Всем плевать, конечно, и дело вкуса и все дела.:)

  • 1
?

Log in

No account? Create an account