decodeURIComponent Проблема с Javascript
Я делаю некоторую работу с прекрасным примером облачного пузыря, сделанным Джимом Валландингемом, и столкнулся с небольшой проблемой. (Код был изначально Coffeescript, который я конвертировал в Javascript; пожалуйста, дайте мне знать, есть ли какие-либо ошибки в конвертации! Кажется, все работает нормально.)
Облако должно переключаться между данными из различных файлов.csv, но, к сожалению, по умолчанию всегда используется определенный файл, даже если в раскрывающемся меню выбран другой файл. Я обнаружил, что причина в том, что в приведенном ниже коде не пройден тест "if (! Text) { text = text [0]; }", так как при манипулировании значением текстов здесь меняется визуализация. Что-то явно не совсем работает с попыткой decodeURIComponent захватить URL-адрес и изменить его на новый, но, к сожалению, так как я все еще новичок в Javascript, я абсолютно не знаю, что изменить, чтобы исправить диаграмму. В настоящее время я размещаю файл на локальном сервере, если это имеет значение. Оригинальная визуализация, кажется, работает нормально, хотя я понятия не имею, соответствует ли код точно. Есть идеи? Исходный код, который я использую (в Coffescript) , здесь. Пожалуйста, дайте мне знать, если вы хотите, чтобы я опубликовал еще один документ Javascript, чтобы узнать, что происходит.
texts = [
{
key: "sherlock",
file: "top_sherlock.csv",
name: "The Adventures of Sherlock Holmes"
}, {
key: "aesop",
file: "top_aesop.csv",
name: "Aesop's Fables"
}, {
key: "alice",
file: "alice.csv",
name: "Alice's Adventures in Wonderland"
}, {
key: "gulliver",
file: "top_gulliver.csv",
name: "Gulliver's Travels"
}
];
$(function() {
var display, key, plot, text;
plot = Bubbles();
display = function(data) {
return plotData("#vis", data, plot);
};
key = decodeURIComponent(location.search).replace("?", "");
text = texts.filter(function(t) {
return t.key === key;
})[0];
if (!text) {
text = texts[0];
}