Единственный способ, которым это могло бы произойти в этом коде, - это если циклу for нечего перебирать. Это будет означать, что оператор if никогда не выполняется, а user_new
никогда не определяется.
Убедитесь, что в accuracy.txt
есть хотя бы одна строка, иначе цикл никогда не запустится, поскольку нет строк, через которые можно пройти.
Если отсутствие строк в текстовом файле неизбежно, рассмотрите возможность проверки длины файла с помощью чего-нибудь такого, как:
if search.read() == "":
user_new = False
Существует действительно плагин QueryString для jQuery, если Вы готовы установить ядро jQuery и плагин, это могло бы оказаться полезным.
Смотрите на мое сообщение, как оно говорит Вам точно, как сделать это:
http://seattlesoftware.wordpress.com/2008/01/16/javascript-query-string/
Используйте утилиту String из prototypejs.org, названного toQueryParams ().
Пример от их сайта: http://prototypejs.org/api/string/toQueryParams
'section=blog&id=45 '.toQueryParams ();
//-> {раздел: 'блог', идентификатор: '45'}'section=blog; id=45 '.toQueryParams ();
//-> {раздел: 'блог', идентификатор: '45'}'http://www.example.com?section=blog&id=45#comments '.toQueryParams ();
//-> {раздел: 'блог', идентификатор: '45'}'section=blog&tag=javascript&tag=prototype&tag=doc '.toQueryParams ();
//-> {раздел: 'блог', тег: ['JavaScript', 'прототип', 'документ']}'tag=ruby%20on%20rails'.toQueryParams ();
//-> {тег: 'рубин на направляющих}'id=45&raw '.toQueryParams ();
//-> {идентификатор: '45', сырые данные: неопределенный}
Кроме того, можно использовать псевдоним parseQuery () для получения тех же результатов.
window.location.search.parseQuery();
Так как window.location возвращает объект, необходимо получить строку.
Я использую эту функцию, если я не хочу использовать плагин:
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return null;
}
Для jQuery я предлагаю jQuery BBQ: кнопка «Назад» и библиотека запросов Автор «Ковбой» Бен Алман
jQuery BBQ использует HTML5 событие hashchange, чтобы разрешить простые, но все же мощная закладка #hash history. Кроме того, jQuery BBQ предоставляет полный метод .deparam () вместе с как управление состоянием хеширования, так и анализ фрагмента / строки запроса и объединить служебные методы.
Пример:
// Parse URL, deserializing query string into an object.
// http://www.example.com/foo.php?a=1&b=2&c=hello#test
// search is set to ?a=1&b=2&c=hello
// myObj is set to { a:"1", b:"2", c:"hello" }
var search = window.location.search;
var myObj = $.deparam.querystring( search );